21-й сборник рецептов. В нем мы научимся отправлять сообщения в Telegram прямо из A-Parser, изучим работу с модулями Node.js в JS парсерах на примере решения задачи фильтрации по множеству признаков, а также спарсим весь IMDb. Поехали!
Уведомления в Telegram из A-Parser
Telegram является одним из самых популярных мессенджеров благодаря своей простоте, и в то же время большому функционалу. Среди прочего, в Телеграме можно создавать ботов, с помощью которых можно делать чаты более интерактивными. Взаимодействие с ботом на на стороне сервера происходит через Telegram Bot API. Используя эти возможности, можно легко и буквально за несколько минут настроить уведомления себе в Telegram прямо из парсера. О том, как это сделать, а также несколько реальных примеров - по ссылке выше.
Как известно, сейчас Google при парсинге очень часто выдает рекаптчу, что значительно усложняет и замедляет сбор данных.
В A-Parser есть возможность обходить данную проблему, разгадывая рекаптчу с помощью сторонних сервисов. Поддерживаются различные онлайн сервисы, а также программные решения.
Одним из таких решений есть XEvil. Его использование дает хороший прирост в скорости, а также значительно удешевляет парсинг, ведь здесь нету оплаты за количество разгаданных каптч/рекаптч, как в онлайн сервисах. Кроме этого, XEvil умеет разгадывать практически любые обычные каптчи (в виде картинки) и данная возможность также поддерживается в A-Parser.
На данный момент использовать разгадывание рекаптчи с помощью XEvil можно в таких парсерах:
В A-Parser 1.2.138добавлена эмуляция node версии 8.9.x с поддержкой загрузки модулей и частичной реализацией fs и net модулей. Это дает возможность обращаться из JavaScript парсеров напрямую к файловой системе, а также использовать подключение по TCP из модулей к другим сервисам(например mysql, redis, chrome...).
Все это позволило загружать и использовать node модули из каталога npm, в котором собраны множество полезных библиотек для обработки данных, коннекторы к базам данных и множество других интересных вещей. На данный момент протестированы следующие модули: md5, async-redis, jsdom, puppeter.
Улучшения
Добавлена поддержка Node.js модулей в JavaScript парсерах
Второе видео в цикле уроков по созданию JavaScript парсеров. Здесь рассказано о том, как написать несложный парсер сайта, который будет "листать" страницы, используя функционал JS парсеров в А-Парсере.
В уроке рассмотрено:
Создание кастомного JavaScript парсера без использования встроенных парсеров
Парсинг контента сайта постранично с использованием регулярных выражений
Реализация прохода по страницам ("пагинации") в JS парсере