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

Тема в разделе "PHP", создана пользователем yeaahhh, 29 дек 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. yeaahhh

    yeaahhh

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

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

    Может быть кто-нибудь кинет ссылочку на уже готовую структура парсинга, скажем, новостей? или же набросает алгоритм.. Заранее большое спасибо!
     
  2. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.035
    Симпатии:
    703
    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;
    }
     
  3. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Я бы сделал два цикла. В первом проходятся все страницы и формируется массив со ссылками, во втором - парсятся статьи по ссылкам из этого массива.
     
  4. Mxnrl

    Mxnrl Постоялец

    Заблокирован
    Регистр.:
    29 апр 2010
    Сообщения:
    50
    Симпатии:
    1
  5. ar4ik

    ar4ik

    Регистр.:
    26 ноя 2007
    Сообщения:
    331
    Симпатии:
    95
    1. Проходим первым циклом(тут важно вовремя остановиться, чтоб не зациклить) по всем страницам, собираем ссылки в бд, попутно убирая дубли.
    2. Потом проходим по собранным ссылкам. Для парсинга я исрользую Snoopy или сам пишу.
     
  6. Хомячок

    Хомячок

    Регистр.:
    10 апр 2008
    Сообщения:
    184
    Симпатии:
    103
    А как узнать максимальное время исполнения скрипта на сайте? И как вовремя прервать скрипт, чтобы не превысить это время или как можно обойти это ограничение?
     
  7. Mxnrl

    Mxnrl Постоялец

    Заблокирован
    Регистр.:
    29 апр 2010
    Сообщения:
    50
    Симпатии:
    1
    php_info();

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