Помогите составить алгоритм настройки программы

Тема в разделе "Решение различных задач по парсингу", создана пользователем Юрий Йосифович, 24 янв 2015.

  1. Юрий Йосифович

    Юрий Йосифович New Member Пользователи

    Регистрация:
    24 янв 2015
    Сообщения:
    5
    [Решено] Помогите составить алгоритм настройки программы

    Здравствуйте.
    Есть список сайтов, к примеру 100 штук.
    На каждом сайте есть фрагмент кода, который нужно собрать.

    В данный момент я делаю так:
    1. Для каждого сайта создаю отдельный проект в котором задаю границы парсинга.
    2. Далее планировщиком по очереди скачиваю все нужные странички и сохраняю в разные файлы.

    При желании я мог бы их отправлять сразу по FTP на сайт. Но хотелось бы организовать это правильно, а именно:

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

    Ну и конечно же, после скачивания последнего задания планировщика (последняя запись в файле) результат-документ отправлялся по FTP (и перезаписывался там).
     
    Последнее редактирование: 24 янв 2015
  2. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    1. Если границы однотипные то можно одной настройкой, уточните по сколько страниц от каждого сайта.
    2. В один файл с дозаписыванием можно.
     
  3. Юрий Йосифович

    Юрий Йосифович New Member Пользователи

    Регистрация:
    24 янв 2015
    Сообщения:
    5
    Количество границ обычно 1-2 обычные и 2 повторяющиеся. Вот два примера настроек в разных проектах. Они могут кардинально отличаться - так как все зависит от создателя определенного сайта, какой он там велосипед придумал.
    Первый:
    [​IMG]
    Второй:
    [​IMG]

    В один файл с дописыванием (без загрузки по FTP) я понимаю как сделать, но тут заключается проблема в том, что одни и те же странички скачиваются с периодичностью допустим в 5-10 минут (отслеживается изменение данных). Получается, что если постоянно просто дописывать в один файл то файл постоянно будет расти - а мне необходимо сохранять только новые актуальные значения.
    Значит нужно как-то перезаписывать строки при каждом новом цикле планировщика - и уже после скачивания последнего в списке проекта заливать по FTP.
     
  4. Root

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

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

    Делать нужно все одним проектом (задавая множество границ парсинга).
     
  5. Юрий Йосифович

    Юрий Йосифович New Member Пользователи

    Регистрация:
    24 янв 2015
    Сообщения:
    5
    Я бы рад так сделать, но не совсем понимаю как правильно организовать множество сайтов в одном проекте.
    Кроме того, возможно на разных сайтах будут границы, которые будут совпадать, но будут иметь разные значения...
    И еще одно неудобство - в случае, если на одном сайте дизайн поменялся, то найти в таком большом проекте плохое звено (нужную границу, которую нужно подкорректировать) будет довольно сложно.
     
  6. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Не к примеру, а конкретную цифру назовите, пожалуйста (я про количество сайтов). Тогда попробую подобрать вам лучший вариант решения задачи.

    Спасибо!
     
  7. Юрий Йосифович

    Юрий Йосифович New Member Пользователи

    Регистрация:
    24 янв 2015
    Сообщения:
    5
    Сейчас в списке 50 сайтов, с которых собираю данные таким способом.
    В случае если что-то изменится, не проблема будет грузить в два проекта по 50 сайтов например...

    На выходе с каждого сайта получается вот такая строчка - итого, если 50 сайтов - то строчек в файле будет фиксировано: 50.
    "*********.ru";"24/01/15 17:01";"Александр";"44";"Анастасия";"14";"Ильдар Тим.";"12"
     
    Последнее редактирование: 24 янв 2015
  8. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Вкладка "Контент" -> группа "Сохранение результата" -> там "включить" кнопку "парсить в 1 файл" и правее нее нажать кнопку "опции записи документов в 1 файл".

    В опциях записи документов в 1 файл для вашего первого проекта из списка проектов ставите "перезаписывать" (чтобы при выполнении первого проекта из вашего списка общий файл с контентом перезаписывался). А для остальных проектов выберите опцию "дозаписывать" (чтобы производилась дозапись контента в файл, указанный в макросе шаблона вывода [DOCNAME]).

    В вашем последнем проекте из списка проектов планировщика нажмите ctrl+u и включите функцию загрузки документов на FTP-сервер при завершении парсинга контента (чтобы файл со всем контентом загружался на ваш FTP после завершения работы последнего проекта).

    Надеюсь, это должно вам помочь!

    С уважением к вам, Сергей...
     
  9. Юрий Йосифович

    Юрий Йосифович New Member Пользователи

    Регистрация:
    24 янв 2015
    Сообщения:
    5
    Спасибо большое, именно эту последовательность я искал, и не знал как правильно бы это сделать.
     
  10. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Пожалуйста, обращайтесь...
     
  11. lolpw

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

    Регистрация:
    20 май 2013
    Сообщения:
    6
    У меня появился один вопрос, а можно ли сделать это все через GETMORECONTENT, т.е. задать любую первую Границу, а потом просто сделать 50-100-1000 Getmorecontent по всем остальным сайтам
    [​IMG]
    Или в чем может быть проблема такого варианта реализации?
    Просто хочу выбрать оптимальный и менее затратный вариант
     
  12. Root

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

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

    Если вам нужно задать неограниченное количество границ парсинга, обратите внимание на этот материал Ссылки недоступны для гостей

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

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