Как правильно сделать парсер?

  • Автор темы Автор темы cadmy
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

cadmy

Новичок
Задача написать парсер. На первой странице указаны номера документов и ссылки на подробную информацию по документу. По каждой из указнных ссылок тоже нужно собрать некоторые данные. При обработке цикла foreach вылетает ошибка сервера "Ошибка 502, ошибка шлюза. Вероятно, ресурс сейчас перегружен запросами или на нём присутствует ошибка. Попробуйте обратиться к ресурсу чуть позже." Как правильно написать парсер? Как сделать, чтобы стрницы грузились постепенно?
PHP:
<?php
header("Content-type: text/html; charset=utf-8");
include 'simple_html_dom.php';
$html = str_get_html(addslashes(file_get_html('http:/....')));
$html1=$html->find('div[id="\"ctl00_ctl00_phWorkZone_dataPanel\""]',0)->plaintext;
$t=strpos($html1, '/data');
$t=$t-4;
$html2=substr($html1,0,$t);
$ar = explode("row>", $html2);

foreach($ar as $val){
    $ib=strpos($val, 'purchID');  
    $if=strpos($val, '/purchID>');  
    $cb=strpos($val, 'purchCode');
    $cf=strpos($val, '/purchCode>'); 
    
    $i=substr($val,$ib+8,$if-16);
    $c=substr($val,$cb+11,$cf-51);
    
    if ($i!=''){
        echo '<br><a href="....?id='.$i.'">Au#'.$c.'</a>';
        $doc=str_get_html(addslashes(file_get_html('http://....?id='.$i)));
        $doc_link=$doc->find('tr[newinfolink]')->find('td')->find('a')->plaintext;
        echo 'doc'.$doc_link;
    }
}
?>
 
Тема закрыта

Варез, взлом, кража контента и другие противоправные действия запрещены к обсуждению на форуме.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху