Рекурсивный парсинг нескольких траниц

Тема в разделе "Решение различных задач по парсингу", создана пользователем RVK, 23 июн 2017.

Метки:
  1. RVK

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

    Регистрация:
    20 июн 2017
    Сообщения:
    8
    Здравствуйте.
    Хочу парсить аккаунты твиттера.
    Есть 1 аккаунт - с него беру всех фоловеров, получаю список ссылок.
    Дальше надо спарсить всех фолловеров ранее спасенных фоловеров.
    Дело в том, что твиттер дает только 20 фолловеров на 1 страницу, дальше надо переходить по ссылке, которая есть на странице (Далее).
    И так до тех пор, пока не дойдешь до конца, то есть ссылка "Далее" на странице будет отсутствовать.
    Для одного аккаунта, как парсить вот эти вот списки ссылок на фоловеров понимаю, сканер сайтов, добавление в очередь.
    А как парсить списки ссылок на фоловеро для множества аккаунтов, чтобы они - каждый список страниц лежал в отдельном файле.
    Попробую пояснить.
    1. Берем аккаунт: Ссылки недоступны для гостей
    Его фоловеры: Ссылки недоступны для гостей
    2. Парсим фоловеров по сылкам типа: Ссылки недоступны для гостейcursor=1570846237270321244
    Получаем список фоловеров: Ссылки недоступны для гостей
    3. Редактируем его для получения списка фоловеров фоловеров:Ссылки недоступны для гостей
    4. Далее надо брать одну ссылку из этого списка, распарсивать её рекурсивно, как в пункте 2, сохранять в отдельный файл.
    Брать вторую ссылку из списка и также распарсивать.

    Какие могут быть варианты? Вообще возможно?

    Пока нашел решение, парсить весь список из пункта 3, далее писать свою программу, перебирать его построчно, вычленяя и сохраняя "под"фоловеров для каждого отдельного аккаунта.
     
  2. Root

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

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

    Обязательно каждый список фоловеров ложить в отдельный файл? Или можно все в общий список ссылок?
     
  3. RVK

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

    Регистрация:
    20 июн 2017
    Сообщения:
    8
    Да, чтобы далее сделать граф, кто на кого подписан и подписан ли вообще, количество подписчиков, локация, описание.

    Если не класть в один файл, то просто в сканере сайтов запускаешь парсинг и ждёшь до тех пор, пока не рапарсит все ссылки.
     
  4. RVK

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

    Регистрация:
    20 июн 2017
    Сообщения:
    8
    Можно ли при парсинге контента из файла, анализировать автоматом ссылку, выбирать оттуда кусок (между определенными слешами, напрмиер, "abcdef"), сохранять результат парсинга в файл с имененм abcdef?
     
  5. RVK

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

    Регистрация:
    20 июн 2017
    Сообщения:
    8
    Вот часть ответа:
    Для примера: <CD_DOCURL!> = Ссылки недоступны для гостей
    [DOCNAME][REPLACE(/followers?cursor=[0-9]|)][REPLACE(Ссылки недоступны для гостей

    <CD_DOCURL!> = Ссылки недоступны для гостей
    [REPLACE(Ссылки недоступны для гостей = alexvoyagenco/followers?cursor=1570447898661756364
    [REPLACE(/followers?cursor=[0-9]|)][REPLACE(Ссылки недоступны для гостей = alexvoyagenco

    Не могу пока потестить в КД, так как боюсь, что программа вылетит во время парсинга.
    Будет такой код работать?
     
  6. RVK

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

    Регистрация:
    20 июн 2017
    Сообщения:
    8
    Этот макрос пишем в поле "Записывать найденные ссылки в файл"?
     
  7. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Да, работать будет. Макросы шаблона вывода прописывать в шаблон вывода во вкладке "Контент" (ctrl+2).
     

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