
25.06.2007, 01:33
|
|
Познающий
Регистрация: 21.05.2007
Сообщений: 61
Провел на форуме: 79888
Репутация:
145
|
|
Есть более адекватный код с использованием регэкспов, данные о выдаваемых сайтах записываются в массив, как вывести в браузер отчеты и записать инфу в файл - додумаешься сам, я думаю.
PHP код:
<?php
set_time_limit(0);
echo "<pre>";
function curl_getsource ( $url )
{
$curl = curl_init();
curl_setopt ( $curl, CURLOPT_URL, $url );
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
$source = curl_exec ( $curl );
curl_close ( $curl );
return $source;
}
function query ( $keyword, $start=0 )
{
global $max_page;
if ( $start >= $max_page )
die ( "All over" );
$keyword = trim ( $keyword );
$keyword = str_replace ( " ", "+", $keyword );
$url = "http://www.google.com/search?hl=en&q=" . $keyword . "&start=" . $start;
$source = curl_getsource ( $url );
preg_match_all ( "/\<h2\sclass\=r\>\<a\shref\=\"([^\"]+?)\"[^\>]+?\>(.+?)\<\/a\>.+?class\=\"j\"\>\<font\ssize\=\-1\>(.+?)\<br\>/is", $source, $result, PREG_SET_ORDER );
foreach ( $result as $info )
{
$link = $info[1];
$title = $info[2];
$desc = $info[3];
$links[] = array ( 'link' => $link, 'title' => $title, 'desc' => $desc );
}
print_r($links);
$start += 10;
query ( $keyword, $start );
}
$max_page = 30;
query ( 'keyword' );
?>
А прошлый код, кстати, продублировал 4 раза линки с первой страницы. Заметно даже в посте Isis.
|
|
|