ФорумПрограммированиеPHP для идиотов → Парсинг wikipedia со всем вытекающим

Парсинг wikipedia со всем вытекающим

  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2008 г. 7:07

    Собсн заказчик хочет…

    http://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A2%D1%83%D1%80%D0%B8%D0%B7%D0%BC
    надо спарсить все подкатегории и конечные страницы. Идти вглубь до тех пор, пока не наткнемся на отсутствие подкатегорий или дочерних страниц или пока не появится страница с географиескими координатами типа вот такой:
    http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BC%D0%BE%D0%BA_%D0%98%D0%BD%D1%83%D1%8F%D0%BC%D0%B0


    я вот думаю без CRON'a никак не обойтись… в базе хранить ссылки… потом по крону их считывать + еще считывать ссылки если есть… так же хранить категории в поле

    м?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 ноября 2008 г. 7:10, спустя 2 минуты 38 секунд

    Pasha, CRON - диспетчер заданий. Тебе это действие надо проводить регулярно?
    adw/0
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2008 г. 8:35, спустя 1 час 25 минут 26 секунд

    надо спарсить все подкатегории и конечные страницы. Идти вглубь до тех пор, пока не наткнемся на отсутствие подкатегорий или дочерних страниц или пока не появится страница с географиескими координатами типа вот такой:


    :) я думаю одним запуском сценария все рухнет, поэтому думаю по кускам с кроном делать
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 ноября 2008 г. 8:39, спустя 4 минуты 15 секунд

    Pasha, ну тогда используй крон, ты начни, если возникнут проблемы, то посовещаемся :)
    adw/0
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2008 г. 9:00, спустя 20 минут 20 секунд

    ладушки
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 18 ноября 2008 г. 9:14, спустя 14 минут 7 секунд

    :) я думаю одним запуском сценария все рухнет, поэтому думаю по кускам с кроном делать

    Я думаю, не рухнет, если нормально настроить. Или заюзай многопоточность))))
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2008 г. 9:18, спустя 3 минуты 45 секунд

    почитал о многопоточности, думаю с ней попробую
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 18 ноября 2008 г. 9:55, спустя 37 минут 28 секунд

    Юзай мой класс =) http://s-a-p.in/interactive/theme/emulation-multithreading (скачать http://s-a-p.in/download/multithreading )
    Только учти, что все равно упасть может.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 ноября 2008 г. 10:04, спустя 9 минут 11 секунд

    sap,


    // Можно поставить задержку, чтобы не повесить сервер
    sleep(1);


    Я думаю в таком случае это надо делать через свойство класса
    adw/0
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2008 г. 10:12, спустя 8 минут 8 секунд

    спасибо, sap :)
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 18 ноября 2008 г. 10:25, спустя 12 минут 10 секунд

    у сапа очень жизнеутверждающая аватара
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 18 ноября 2008 г. 10:43, спустя 18 минут 13 секунд

    adw0rd, да, ты прав.

    Pasha, пожалуйста :)

    CTAPbIu_MABP, это зависит от того, как на нее смотреть ;)
  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2008 г. 17:40, спустя 6 часов 57 минут 27 секунд

    Кстати, там ведь бешеная рекурсия получится, если парсить все страницы подряд… Так что придётся ссылки сначала парсить, потом уже выкачивать.
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 19 ноября 2008 г. 6:57, спустя 13 часов 16 минут 30 секунд

    Кстати, там ведь бешеная рекурсия получится, если парсить все страницы подряд… Так что придётся ссылки сначала парсить, потом уже выкачивать.

    да

Пожалуйста, авторизуйтесь, чтобы написать комментарий!