Цитата:
|
Сообщение от [b
Цитата[/b] (VIР @ Июн 03 2007,19:18)]Все бы ничего, а мусора сколько ? * 
|
Нету мусора! Мусор тока в твоем доргене! *
По сути, сам парсер, без вывода html и записи в файл:
<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>
Исходный код </td></tr><tr><td id="CODE">
$se='http://search.yahoo.com/search?p=';
$page[1][0]=$se.$srch;
do{
$page=str_replace('"', '', $page[1][0]);
if($page[0]=='/') $page=substr($url,0,strrpos($url,'/')).$page;
$html=rawurldecode(file_get_contents($page));
@$allurls.=geturls($html); $i++;
}
while(preg_match_all('|.*>.*href=(.+?)[">]+.*'.$i. '<|', $html , $page));
function geturls($html) {
$content=explode('http://', $html);
$html=preg_replace('|\<.*\>|U','',$html);
foreach($content as $i => $str){
$end=strpos($str, '"'); $tagend = strpos($str, '>');
if( $end AND ($tagend > $end OR !$tagend)){
*$link=preg_replace('|(.*)/\Z|', '$1', trim(substr($str, 0, $end)));
*$expr=preg_replace('|\W|', ' * ', $link);
*if(preg_match('|'.preg_replace('| * |U', '.{1,10}', preg_quote($expr)).'|', $html)) @$result.=$link."\n";
}
}
return $result;
}
[/quote]
20 строк кода, которые успешно вытаскивают все урлы со всех страниц всех трех поисковиков, при этом урлы не из выдачи игнорируются!
VIP, слабо ещё меньше код сделать?
