terkin
Мой дом здесь!
- Регистрация
- 9 Дек 2006
- Сообщения
- 513
- Реакции
- 200
- Автор темы
- #1
Вобщем встетил на searchengines код для парсинга ПДА версии ЯК, и чуть его дописал что бы он парсил все страницы раздела и работал на РНР 4:
PHP:
<?
set_time_limit(0);
$cat = 'Computers/Internet/Catalogues/'; // указываем раздел который нужно парсить
$np_pat = '/<a target="_self" href="(.*)"><font color="#333333">след.<\/font><\/a>/U';
$yc_pat = '/<li>\n<font><a.*href="(.*)".*>.*<\/li>/isU';
$delay = '3';
$a=1;
$url = 'http://pda.yaca.yandex.ru/yca/tungrp/cat/'.$cat;
$data = file_get_contents($url);
$col=preg_match_all("!<h3>(.*?)</h3>!si",$data,$ok);
$col=substr($ok[0][0],strpos($ok[0][0],":")+1);
$col=trim($col);
$col_pages=$col/20;
for($i=0;$i<$col_pages;$i++)
{
$page=$i.".html";
$url = 'http://pda.yaca.yandex.ru/yca/tungrp/cat/'.$cat.$page;
while ($data = file_get_contents($url)) {
#$data = iconv('utf-8', 'cp1251', $data);
preg_match_all($yc_pat, $data, $o1, PREG_SET_ORDER);
foreach ($o1 as $o) echo $a++.".".$o[1]."<br>"; flush();
preg_match($np_pat, $data, $o2);
$url = ($o2 ? $o2[1]:FALSE);
sleep($delay);
}
}
?>