Показать сообщение отдельно

  #9  
Старый 18.12.2007, 20:14
.::Gh0st::.
Гарант Форума
Регистрация: 22.01.2005
Сообщений: 267
Провел на форуме:
1982081

Репутация: 1067
Отправить сообщение для .::Gh0st::. с помощью ICQ
По умолчанию

2dword
1) исправлено
2) исправлено
3) исправлено

2kib
исправлено
делал для того, чтобы при подвисании скрипта сохранились данные за последнию итерацию, не использовал "a", потому что надо было чтобы при новом запуске скрипта файл очищался. сейчас немного по другому сделал, файл либо создается, либо очищается при старте и информация записывается после каждого прохода

2all
я тут немного не понял суть претензий - я вообще-то накатал скриптег за некоторое время и скинул в топ, в надежде помочь. критерием оценки работы служило "лишь бы работало". в общем я все замечания учел, но все же, я же не за деньги это делаю, так что надо бы понимать что это просто сэмпл, а не какой-то готовый продукт. шевелите мозгами иногда.

код:
PHP код:
<?php
$host 
"www.google.com";
$query "snitch";
$num 20;
$filename "links.txt";

$handle fopen($filename"w");
fclose($handle);

function 
grab_links($page)
{
        
$links "";
        
$result preg_split('/<span class=a>| - [0-9]*k - <\/span>/i'$page);
        for (
$i 1$i 20$i += 2)
        {
                
$clean str_replace("<b>"""$result[$i]);
                
$clean str_replace("</b>"""$clean);
                
$clean str_replace(" """$clean);
                
$links .= "$clean\r\n";
        }
        return 
$links;
}

for (
$n 0$n <= $num$n += 10)
{
        
$request "GET /search?q=".urlencode($query)."&start=$n HTTP/1.0\r\n";
        
$request .= "Host: $host\r\n";
        
$request .= "Connection: Close\r\n";
        
$request .= "\r\n";

        
$sock fsockopen($host80$errno$errstr10);
        
stream_set_timeout($sock60);
        
fputs($sock$request);

        while(!
feof($sock)){$page .= fgets($sock);}
        
fclose($sock);

        
$links grab_links($page);
        
//echo $links;
        
$page "";
        
        
$handle fopen($filename"a");
        
fwrite($handle$links);
        
fclose($handle);
}
?>
з.ы
минусов много, скрипт собирает лишние ссылки с рекламы и прочего, так как регекспы писались тоже на скорую руку. правьте сами по желанию.

Последний раз редактировалось .::Gh0st::.; 18.12.2007 в 20:22..
 
Ответить с цитированием