- Автор темы
- #11
попробуй так
вообще своеобразный стиль )))PHP:<?php set_time_limit(0); $url = "сюда пишем адрес на XML карту сайта"; function FetchUrl($url, $postvars, $timeout, $ref, $blank){ sleep($timeout); echo @date("r")." fetching $url \r\n"; $ch = curl_init(); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT,30); curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_URL, trim($url)); curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE); $result = curl_exec($ch); if($blank == "1"){ $result = preg_replace("/\n/", "", $result); $result = preg_replace("/\r/", "", $result); } curl_close($ch); return $result; } $page = FetchUrl($url, NULL, NULL, NULL, NULL); preg_match_all("!<loc>(.*?)<\/loc>!si", $page, $out); $fp=fopen("pars_title.txt","w"); foreach($out[1] as $link){ $page = FetchUrl($link, NULL, NULL, NULL, NULL); preg_match("!<title>(.*?)<\/title>!si", $page, $tit); //exec("echo '".$link."|".trim($tit[1])."' >> pars_title.txt"); fwrite($fp,$link."|".trim($tit[1])."\r\n"); } fclose($fp); ?>
Парсер почему то начал глючить, может это не парсер, а что то еще, хрен знает....короче раньше прекрасно парсил в таком виде -
Код:
URL1 | Title1
URL2 | Title2
URL3 | Title3
и т.д.
А сейчас нормально парсит только первые 5-8 урлов а потом парсит только URL, без title, вот так -
Код:
URL1 | Title1
URL2 | Title2
URL3 | Title3
URL4 | Title4
URL5 | Title5
URL6 | Title6
URL7 |
URL8 |
URL9 |
и т.д.
Что за хрень с ним случилась не пойму, попробовал пропарсить новые сайты, вот такая хрень случилась, попробовал пропарсить те, которые раньше он уже нормально парсил, все равно то же самое ((( может есть идеи?