Вопрос по скрипту

MI
На сайте с 15.07.2006
Offline
115
605

Помогите настроить скриптик. После апдейта скрипт перестал показывает сколько страниц проиндексировано:

вот тело:

------------------------------------------------------------------

#!/usr/bin/perl

use LWP::Simple;

use CGI qw(:standard);

print header(),start_html("Количество проиндексированных страниц!!!");

open SITES, "<bolero.txt";

while (<SITES>){

chomp();

$link=$_;

$site=$_;

$site=~s#http://##ig;

$link=~s#http://#http://www.yandex.ru/yandsearch?serverurl=#ig;

$content=get($link);

if ($content=~m#<title>

Яndex: \((.*?)\)

<\/title>#ig){$sites{$site}=$1};

};

print "<html><title>Количество проиндексированных страниц в Yandex</title><table border=\"1\" align=\"center\" cellspacing=2 cellpadding=3><tr bgcolor='#EFEFEF'><th>№</th><th>Сайт</th><th>Проиндексировано</th><th>Индекс цитирования</th></tr>\n";

$i=0;

while(($key,$value)=each %sites){$value=~s#(.+)\((\d+)\)#$2#ig;

print "<tr><td>".$i++."</td><td><a href=\"http://".$site."\" target=\"_blank\">http://".$key."</a></td><td align='center'><a href='http://www.yandex.ru/yandsearch?serverurl=".$key."'>".$value."</a></td><td>&nbsp&nbsp<a href='http://yaca.yandex.ru/yca/cy/ch/".$key."/' target='_blank'><img src='http://www.yandex.ru/cycounter?".$key."' width=88 height=31 alt='Индекс Цитирования' border=0 hspace='3'></a>&nbsp&nbsp</td></tr>"};

print "</table></html>";

---------=======================

знаю что поменять надо здесь

if ($content=~m#<title>

Яndex: \((.*?)\)

<\/title>#ig){$sites{$site}=$1};

};

а на что не знаю :(

maximuz
На сайте с 13.11.2006
Offline
35
#1

Я в Perl не силён, по этому не могу ничем помочь.

Могу лишь посоветовать - переходите на PHP.

MI
На сайте с 15.07.2006
Offline
115
#2

Кто поможет произведу оплату. в пределах разумного :)

в личку

mr.MAIL
На сайте с 12.09.2006
Offline
46
#3

То же самое на php.

<?

Error_Reporting(E_ALL & ~E_NOTICE);
if (isset($_POST['url'])){

function y_s($url){

$text=file_get_contents($url);
preg_match_all ("#<b>([^<]*)</b>#", $text, $out);
if (isset($out[1][0])){
$y_s=trim(str_replace("&nbsp;","",$out[1][0]));
return $y_s;
}
return"0";
}

function y_s_link ($url){
$url = str_replace('http://', '', $url);
$link="http://www.yandex.ru/yandsearch?serverurl=$url";
return $link;
}


function tic($url){
$text=file_get_contents($url);

$text1=explode("value=\"", $text);

$tic=substr($text1[1],0,strpos($text1[1], "\""));


if ($tic=='') $tic=0;

return"$tic";
}

function tic_link ($url){
$url = str_replace('http://', '', $url);
$link="http://bar-navig.yandex.ru/u?show=31&ver=2&url=http://$url/";
return $link;
}

$index=y_s(y_s_link($_POST['url']));

$tic=tic(tic_link($_POST['url']));

echo"Проиндексировано: $index <br>
ТИЦ: $tic

<hr>";

}

echo"<form name=form1 action='index.php' method=post value='$_POST

?>" title="'>

url <input type=text name=url>

</form>
"

?>" target="_blank">'>

url <input type=text name=url>

</form>
"

?>
Сервис для поиска освобождающихся доменов (http://domain.keytoday.net) DirectParser - скрипт для поиска ниш в рунете (/ru/forum/494016) Keytoday.net - он-лайн база русских и английских кейвордов (http://keytoday.net)
MI
На сайте с 15.07.2006
Offline
115
#4

но это же вроде как по одному файлу ?! или я ошибась... тот скрипт брал из файл txt

mr.MAIL
На сайте с 12.09.2006
Offline
46
#5
MagInfo.net.ru:
но это же вроде как по одному файлу ?! или я ошибась... тот скрипт брал из файл txt

а в каком виде сайты перечислены в txt файле?

GT
На сайте с 19.06.2006
Offline
37
#6

А вот так это делается на руби;)


require 'net/http'

donor_url = 'имяхоста.ru'

report = File.new(donor_url+'.txt','w+')

Net::HTTP.start('www.yandex.ru') do |http|
page_content = http.get('/yandsearch?surl='+donor_url)
report << "Yandex indexed:;"+page_content.body.scan(/страниц.*<\/b>/).to_s.scan(/\d/).to_s+"\n"

end

скриптец конешн так себе, но работает) парсит как надо)))😎

nice trip
Хелпзонович
На сайте с 15.06.2005
Offline
133
#7

Не уверен, что дело в апдейте.

Но попробуйте изменить так

if ($content=~m#<title>
(.*?)\((.*?)\)
<\/title>#ig)
{$sites{$site}=$2};

Добавочка. Понял. Либо, в своем коде после Яndex: - добавить еще один пробел. Яндекс там сейчас два пробела выдает перед (проиндексированных страниц)

Вы там держитесь! Хорошего вам настроения. Здоровья.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий