Парсинг в цикле на php

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

yeaahhh

Старатель
Регистрация
8 Май 2008
Сообщения
278
Реакции
11
Ребят, мог бы кто-нибудь написать структуру парсинга в цикле на php?
Не совсем понятна последовательность..

В цикл заносим номера страниц (сайт.ру/?page=$i) скажем..
так?
далее нужно спарсить все ссылки новостей, после чего в каждой ссылке нужно спарсить информацию, верно?

Может быть кто-нибудь кинет ссылочку на уже готовую структура парсинга, скажем, новостей? или же набросает алгоритм.. Заранее большое спасибо!
 
PHP:
$content=file_get_contents('http://yandex.ru');
preg_match_all('/регулярка/',$content,$links);
$link_count=count($links[0]);
for($i=0;$i<$link_count;$i++){
$url=$links[0][$i];
$full=file_get_contents($url);
echo $full;
}
 
Я бы сделал два цикла. В первом проходятся все страницы и формируется массив со ссылками, во втором - парсятся статьи по ссылкам из этого массива.
 
  • Заблокирован
  • #4
Для более простого и понятного парсинга пробуй - PHP Simple HTML DOM Parser - Для просмотра ссылки Войди или Зарегистрируйся
 
1. Проходим первым циклом(тут важно вовремя остановиться, чтоб не зациклить) по всем страницам, собираем ссылки в бд, попутно убирая дубли.
2. Потом проходим по собранным ссылкам. Для парсинга я исрользую Snoopy или сам пишу.
 
А как узнать максимальное время исполнения скрипта на сайте? И как вовремя прервать скрипт, чтобы не превысить это время или как можно обойти это ограничение?
 
  • Заблокирован
  • #7
php_info();

увеличить время выполнения можно через ini_set("max_execution_time", "300"); - где 300 время выполнения. Но тут прикол в том что браузер может показать недоступность страницы (вроде через 30 секунд), хотя скрипт будет все еще выполнятся на серваке.. Лучше всего выность такие "тежеловесные" скрипты в крон;)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху