Сбор обновляемых данных

Тема в разделе "Решение различных задач по парсингу", создана пользователем Rsa, 6 окт 2015.

  1. Rsa

    Rsa New Member Пользователи

    Регистрация:
    25 фев 2015
    Сообщения:
    24
    Здравствуйте!

    Возникла интересная задача. Буду благодарен, если подскажите каким образом ее можно решить и/или если есть подобные проекты (примеры) на форуме, то еще больше буду признателен за ссылки на темы!

    Задача.
    Есть сайт, на котором происходит регулярное обновление данных нескольких типов:
    1) появляются новые странички
    2) на этих страничках появляются новые данные

    * Шаблон = проект Content Downloader

    В настоящий момент я сделал шаблоны и могу самостоятельно:
    - используя 1-ый шаблон собирать ссылки на новые странички;
    - используя 2-ой шаблон собирать данные со страниц.

    Но, для того, чтобы облегчить (автоматизировать) процесс сбора данных, необходимо чтобы:
    - сбор ссылок на новые странички происходил с определенной (настраиваемой вручную) периодичностью;
    - сбор данных на новых страницах происходил с еще более частой периодичностью.

    Особенность в том, что количество отображаемых и, следовательно, имеющих возможность быть собранными данных на страницах фиксированное. То есть, если ты пропустишь определенный момент, то часть данных может в этот момент отобразиться, а потом быть перезаписана следующими данными, и ты уже не узнаешь, что там было.

    Пример для наглядности
    "Страница, с которой собираются данные":
    Ляляля-ляляля-ненужная_инфа-ляляля
    собираемые_данные_01
    собираемые_данные_02
    собираемые_данные_03
    Ляляля-ляляля-ненужная_инфа-ляляля

    Через 10 минут эта же страница:
    Ляляля-ляляля-ненужная_инфа-ляляля
    собираемые_данные_06
    собираемые_данные_07
    собираемые_данные_08
    Ляляля-ляляля-ненужная_инфа-ляляля

    В вышеуказанном примере собираемые данные идут последовательно и можно увидеть, что пропущены значения с порядковыми номерами 04 и 05, однако, если бы мы обновили страницу не через 10 минут, а раньше, то мы бы их застали и успели собрать.

    Надеюсь, что на этом простом примере удалось показать главную особенность той задачи, которую необходимо реализовать.

    Момент со сбором страниц (1 шаг) представляет из себя этап с более длительным циклом обновления (новые страницы появляются реже, чем данные). То есть необходимые для 2 шаблона (2 шага) ссылки на новые страницы, собираемые первым шаблоном, появяются намного реже, чем обновляются данные на этих страницах.

    Таким образом нужно примерно от 3 до 5 раз в день выполнять задания по загрузке документов со ссылками на новые страницы из 1 шаблона, и несколько раз в час (допустим от 30 до 100) собирать данные со страниц из 2 шаблона.

    Вопрос в том как это автоматизировать для получения в любой момент результата со всеми данными, сохраненными с момента запуска сбора информации?

    Дополнительными шагами во всем этом безостановочном процессе являются:
    - этап передачи данных от шаблона 1 к шаблону 2, либо совмещение шаблонов в 1;
    - если страницы и данные на них будут обновляться медленнее, чем будет происходить сбор, то желательно убирать повторяющиеся значения в процессе, чтобы на накапливать их (но если это трудно реализовать, то можно, наверно, во время просмотра результата убирать дубли через встроенные в Excel возможности..).

    Потребуется ли использовать php (и MySQL?) на запущенном web-сервере или можно обойтись лишь только программой Content Downloader (вместе с WbApp)? Чувствуется, что возможно одним CD все таки не обойтись..

    Не судите строго, что не указываю конкретный сайт, на котором все это происходит. Предполагаю, что указанных данных вполне хватает, чтобы можно было понять пути реализации.

    Если все так нужно, то конечно же предоставлю более подробные сведения с сайтом и укажу обновляемую информацию.. Примеров, я думаю, множество. Но принцип лежит если не один и тот же, то весьма однообразный и подобный.

    Ожидаю, что данная задача уже не раз решалась (прошу прощения, если не нашел через поиск).
    Заранее огромная благодарность за любую помощь и подсказки!
     
    Последнее редактирование: 6 окт 2015
  2. Rsa

    Rsa New Member Пользователи

    Регистрация:
    25 фев 2015
    Сообщения:
    24
    Поторопился и совсем забыл, что есть же Планировщик :)
    Буду пробовать.

    ОБНОВЛЕНИЕ:
    Оказалось все проще, чем я думал. Вместо 1-ого проекта через парсинг ссылок настроил сбор ссылок на страницы и поставил галочку "запускать парсинг контента", во вкладке парсинг контента оставил настройки 2-ого проекта и сохранил проект на вкладке парсинг ссылок. В планировщике указал файл этого проекта и интервал.

    Может быть кому-нибудь пригодится.

    Единственное только пока еще не знаю как решить вопрос с дубликатами - повторяющимися данными, которые сохраняются в csv-файле. Пока как и думал в пост-обработке будут в EXCEL'е чистить. Если у кого есть другой вариант - буду очень рад подсказке :)

    Благодарю за чудесное ПО! :)
     
    Последнее редактирование: 7 окт 2015
  3. Rsa

    Rsa New Member Пользователи

    Регистрация:
    25 фев 2015
    Сообщения:
    24
    Хм, теперь такая ситуация - планировщик каждые ххх секунд запускает один и тот же проект и в результате на выходе в csv файле у меня имеются сплошные дубликаты. Судя по всему, после первого раза документы закэшированы и новые просто не грузятся. Как решить этот вопрос? Решение не могу найти.

    Нужно очищать кэш после окончания выполнения проекта, чтобы при повторном запуске планировщиком через ххх секунд грузились новые данные. Есть ли такая возможность или пока что не предусмотрено?

    Если для этого использовать RELOADDOCUMENT, то получится? Или он не заменит то, что уже было кэшировано ранее?

    Возможно ли добавить такую функцию, чтобы кэш очищался после загрузки документа? Если кому-то нужно наоборот, то для переключения галочку сделать и все :)
     
    Последнее редактирование: 7 окт 2015
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Документы при парсинге не кешируются!

    С уважением к вам, Сергей.
     
  5. Rsa

    Rsa New Member Пользователи

    Регистрация:
    25 фев 2015
    Сообщения:
    24
    Тоже стал так думать после многочисленных проверок. И это довольно таки разумно - нерационально было бы наоборот.

    Но что же тогда составляет проблему? Может быть Internet Explorer и какие-то настройки по умолчанию, которые нужно перенастроить?

    Пробовал запускать проект на разных машинах с разными версиями ОС, результат одинаковый. Пробовал также через планировщик задач Windows запускать - тоже самое, но были также некоторые проблемы при закрытии программы (я настраивал триггеры так, что программа после выполнения задания закрывалась).

    Дело в том, что когда заходишь раз в несколько минут на сайт, то видно что данные обновляются. Но через Content Downloader грузятся одни и те же данные. Встречалось подобное на прошлых проектах, но там особого значения это не имело. Может быть это особенности данного сайта и мне нужно выбрать какие-то особенные настройки Internet Explorer'а и/или Contet Downloader'а?


    Обновление: Хм, DOM отключал, тоже собирается. Библиотека не причем. Похоже связано с браузером и авторизацией.
     
    Последнее редактирование: 7 окт 2015
  6. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Даже не знаю, в чем может быть проблема. Данные пр парсинге в Content Downloader не кешируются однозначно!

    Может у вас есть какой сторонний софт, который мешает корректной работе Content Downloader (например, такое бывает при использовании некоторых антивирусов).
     
  7. Rsa

    Rsa New Member Пользователи

    Регистрация:
    25 фев 2015
    Сообщения:
    24
    Да, с кэшированием все в порядке. Прощу прощения, что чуть было не оклеветал это дело..

    Очень похоже на то, что авторизация + браузер виноваты или, может, все таки я что-то не так сделал. Антивирусы разве что только встроенные в Windows.

    В авторизации используется параметр вида STATISESSID=хххххххххххххххххххххххххх; и другие. Может они должны меняться/быть динамическими?
    Появилась мысль: есть же такие сайты (улучшенные просмотрщики других сайтов), которые сами берут информацию с других сайтов (соц. сети), и ты прежде чем начать пользоваться этим просмотрщиком авторизуешь его на официальном сайте (соц. сеть) и дальше уже можешь пользоваться. Наверно нужно больше post/куки параметров отловить и вставить в Content Downloader? Но тогда если бы старые статические параметры авторизации не работали, то вообще бы ничего не грузилось же, а тут грузиться одно и тоже.. Не сталкивались с такими ситуациями?
     
    Последнее редактирование: 7 окт 2015
  8. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Нет, с таким не сталкивался. Увы, у меня сейчас нет предположений по вашей теме. Простите.
     

Поделиться этой страницей