От: Принципа, на работа на сайтове като pazaruvaj . com
Сори, че се намесвам. Но не виждам никакъв проблем, да се обходи някой български магазин. Българските магазини са малки и рядко имат повече от няколко хиляди артикула, които се скрапват буквално за минути. При скрапването се зарежда само текста от страниците и това го прави много бързо.
Писането на скрапер за конкретен сайт също се прави бързо. Необходими са малко тестове с xpath и два-три цикъла.
За пример, ако искаме да свалим заглавията на всички нови теми в predpriemach.com + линковете към темите, можем да започнем от това:
PHP:
<?php
//$site = file_get_contents("index.html");
$site = file_get_contents("http://www.predpriemach.com/search.php?searchid=3438191");
$doc = new DOMDocument;
@$doc->loadHTML($site);
$xpath = new DOMXPath($doc);
$query_titles = $xpath->query('//a[contains(@id,"thread_title")]'); // Екстракт на заглавията на темите
$query_hrefs = $xpath->query('//a[contains(@id,"thread_title")]/@href'); // Екстракт на линковете
for ($i=0; $i < $query_titles->length; $i++) {
$title = $query_titles->item($i)->nodeValue;
$href = $query_hrefs->item($i)->nodeValue;
echo $title."\nhttp://www.predpriemach.com/".$href."\n=======\n";
}
?>
Резултата е:
Код:
Модули за Opencart
http://www.predpriemach.com/showthread.php?t=52723
=======
Продавам 3000+ уникални статии на български
http://www.predpriemach.com/showthread.php?t=55728
=======
GiftsRocket -> най-големите измамници.
http://www.predpriemach.com/showthread.php?t=55665
=======
VPSBG.eu - гигабитов VPS Хостинг и промо кодове само за Predpriemach.com
http://www.predpriemach.com/showthread.php?t=43183
=======
Building a New Forum
http://www.predpriemach.com/showthread.php?t=55775
=======
Приемам гест блогинг с 5 рекламни полета в сайдбара
http://www.predpriemach.com/showthread.php?t=55489
... и т.н.
Много лесно може да се добави обхождане на страниците, ако има странициране (или страниране - не съм сигурен кое е по-вярно, като термин на бг). По същият начин се пишат и ботовете за онлайн-магазините или скраперите на news-сайтовете.
Ако искаме да обходим 10 магазина и да вземе стоките с цената, картинката, заглавието, за няколко часа ще напишем един клас с необходимите методи и ще зареждаме само необходимите xpath-заявки. Самите сайтове могат да се обхождат веднъж дневно, примерно сутрин, за да се актуализира инфото.