Парсер номеров и имён с Юлы с последующей разбивкой по операторам {Get/Post}

DrunkDeath

Client
Регистрация
24.12.2014
Сообщения
616
Реакции
442
Баллы
63
dc204fac49.jpg



Доброго времени суток. Представляю Вам парсер номеров и имён продавцов с сайта youla.ru. Шаблон написан на Post/Get запросах. Имеет функцию рассортировать полученные номера по операторам.


c91da19d91.jpg


Входные настройки шаблона:

6774e9d503.jpg

Ссылка из поиска - сюда вставляете ссылку из поиска товаров с выбранными критериями (или нет) на Юле.
Сколько страниц парсить - кол-во станиц, которые шаблон будет парсить.
Сохранять - вид сохранённых данных. "Телефон" или "телефон;имя".
Сортировать по оператору - в конце работы шаблон создаст папку и рассортирует все номера по операторам.



Алгоритм работы шаблона:
Шаблон берёт заданную ссылку из входных настроек и делает два гет запроса по ней:
5056f3508f.jpg

Далее меняет кодировку (ибо зачастую Юла даёт ответ в кодировке Unicode), парсит этот Get запрос Regex'ом на ссылки и удаляет дубли.
Примечание: Почему два гет запроса, а не один. Проблема в том, что в конце ссылки прописывается номер страницы "page=". Но когда парсинг идёт без критериев, то оператор page нужно прописывать как "?page=", а если с критериями, то "&page=".


a34e3a97e5.jpg

de620c94f2.jpg
Далее вытаскивает из полученных результатов ссылки на товары и перекладывает из Временного списка в список Links.
Делаем ещё один Get запрос по ссылке из поиска, чтобы получить Title. Он нам понадобится при дальнейшем создании текстовых файлов и папок.
7f98618c3e.jpg

Теперь шаблон берёт ссылку на товар из списка Links, удаляет дубли, делает Get запрос и парсит номер телефона и имя. Имя получаем в кодировке Unicode, поэтому шаблон ещё раз перекодирует и записывает в файл (создаётся с именем из Title) по заданным параметрам.
d46c23ee43.jpg
И последний этап. Создаёт папку (с именем Title). Берёт номер из нашего созданного списка и делает пост запрос на сайт kody.su. Получает ответ и парсит оттуда оператора и записывает в файл.
af388edd36.jpg

ba0ac6a2ec.jpg
На выходе получаем Файл с номерами и именами (или без) и папку с этими же номерами разбитыми по операторам.

5e753202be.jpg

0a0151a637.jpg


Шаблон сам создаёт все файлы в той папке, где находится. Надеюсь шаблон подойдёт новичкам, которые на первых этапах изучения Get/Post, а также тем, кому нужно спарсить базу номеров с юлы для своих целей. Данный шаблон не парсит категорию Авто, так как там другой алгоритм парсинга.


Спасибо за внимание. Надеюсь этот шаблон Вам пригодится.
 
Номер конкурса шаблонов
  1. Второй конкурс шаблонов
Уровень сложности
Средний
Категория
  1. Парсинг
  2. Доски объявлений

Вложения

Парсит только 1 страницу, если ставишь больше 1 спарсить, не работает.
 
Парсит только 1 страницу, если ставишь больше 1 спарсить, не работает.
Не работает, пишет шаблон выполнен успешно но ни папок ни чего нет!
Разобрался. Глупая мелкая ошибка была в несоединённом кубике. Всё исправил и проверил парсинг больше чем на одну страницу. Всё работает. Шаблон прикрепляю к сообщению.
 

Вложения

  • Спасибо
Реакции: fotuvaz
Нужны прокси?
ТС спасибо за шаб
 
Есть ли возможность поменять на OLX?
 
Проверил чек на kody.su, есть лимит запросов с IP.
 
Как узнать, сколько страниц с объявлениями по моему запросу (рубрике)?
И получится ли, когда время будет, дополнить опционально сбор заголовков?
Потому что через n-количество объявлений юла начинает выдавать не релевантные запросу.
 
Последнее редактирование:
Как узнать, сколько страниц с объявлениями по моему запросу (рубрике)?
И получится ли, когда время будет, дополнить опционально сбор заголовков?
Потому что через n-количество объявлений юла начинает выдавать не релевантные запросу.
Во входных устанавливается лимит, если кончатся страницы, то шаблон закончит работу.
Да, это возможно всё в таблицу перекинуть
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)