Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - A-Parser Support

Страницы: [1] 2
1
Сборник рецептов #24: уведомление в Telegram об экспайре доменов, чекер РКН и работа с SQLite

24-й сборник рецептов. В нем мы научимся мониторить окончание срока регистрации доменов с уведомлением в Телеграм, сделаем альтернативный чекер сайтов в базе РКН, а также на простом примере парсера курсов валют изучим работу с базами данных. Поехали!

Получаем уведомления в Telegram об окончании срока регистрации доменов

Мониторинг сроков регистрации доменов - это довольно распространенная задача. A-Parser позволяет легко автоматизировать этот процесс. Более того, можно настроить получение прямо в Телеграм уведомлений о доменах, срок регистрации которых скоро закончится. Готовое решение для автоматической проверки с уведомлением - по ссылке выше.



Проверка блокировки РосКомНадзора через GitHub

В А-Парсере есть стандартный парсер Check::RosKomNadzor Check::RosKomNadzor, который позволяет проверять наличие сайтов в базе РКН. Данные получаются напрямую из официального сервиса, для работы обязательно нужно подключать антигейт. Кроме того, официальный сервис РКН часто подвергается атакам, в связи с чем может быть недоступен. Но существуют альтернативные источники данных, доступность которых значительно выше и к тому же не требующие проверки в виде каптчи. Парсинг одного из таких источников и реализована в пресете по ссылке выше.



Простой парсер обменника с записью в БД SQLite

Как известно, в A-Parser реализована возможность чтения/записи данных в БД SQLite. В этом рецепте показано использование этого функционала на примере парсинга курсов валют. Готовый парсер доступен по ссылке выше.



Еще больше различных рецептов в нашем Каталоге!

Предлагайте ваши идеи для новых парсеров здесь, лучшие будут реализованы и опубликованы.

Подписывайтесь на наш канал на Youtube - там регулярно выкладываются видео с примерами использования A-Parser, а также следите за новостями в Twitter.


2
1.2.216 - улучшения в SE::Google::Modern и JS парсерах, а также множество других



Улучшения
  • Зависимая задача в Цепочке заданий теперь запускается только когда файл результатов не пустой
  • Добавлен повтор без смены прокси при неудачной отправке рекаптчи в SE::Google::Modern
  • Добавлен бан прокси при получении 403 кода ответа в SE::Google::Modern
  • Процент неудачных запросов теперь отображается относительно числа выполненных запросов
  • Добавлена возможность вызвать URL после выполнения задания
  • Улучшен обзор каталогов при выборе файлов запросов
  • Добавлена поддержка setInterval в JavaScript парсерах
  • Уменьшено Wait between get status и улучшено логгирование в Util::ReCaptcha2
  • Улучшена обработка редиректов
  • Добавлена защита от бесконечного выполнения в JavaScript парсерах
  • Значительно увеличены возможности check_content в JS парсерах
  • В ответе API метода info добавлены параметры workingTasks, activeThreads, activeProxyCheckerThreads
Исправления в связи с изменениями в выдаче
Исправления
  • Исправлено ведение лога при нескольких паузах задания
  • Исправлена ошибка, из-за которой запрос считался неудачным при пустой выдаче в SE::Google::Modern
  • Исправлена работа с url, содержащими фрагмент # в Net::HTTP
  • Исправлен парсинг ссылок в HTML::LinkExtractor
  • Исправлена работа опции Pages count в SE::Yandex
  • Исправлен выбор файлов запросов на Windows 10
  • Исправлена ошибка, из-за которой иногда нельзя было удалить файл с запросами
  • Исправлено отображение проксичекера в конфиге потоков
  • Исправлена кодировка некоторых результатов в SE::Google::Suggest
  • Исправлена ситуация, когда не читались настройки из config.txt

3
Сборник рецептов #23: категории сайтов, парсинг в YML и преобразование дат

23-й сборник рецептов. В нем мы будем парсить категории сайтов из Google, научимся формировать файлы YML, а также разберемся, как парсить даты и преобразовывать их в единый формат. Поехали!

Получение категорий сайтов из Google

Категоризация сайтов - довольно актуальная задача, но существует немного сервисов, которые могут ее решить. Поэтому, по ссылке выше можно взять небольшой парсер, который позволяет получать категории сайтов из Google.


Выгрузка товаров в формате YML

YML - это стандарт, разработанный Яндексом для работы с Маркетом. По своей сути, это файлы, схожие с XML, в которых содержится информация о товарах в интернет-магазине. Данный формат обеспечивает регулярное автоматическое обновление каталога на Яндекс.Маркет и позволяет отражать все актуальные изменения (наличие, цена, появление новых товаров). Пример парсинга интернет-магазина и сохранения собранных данных в YML можно посмотреть по ссылке выше.


Парсим Google новости с датой и преобразуем ее

В поисковой выдаче Google возле новостей публикуется дата. Как правило, это могут быть метки "10 ч. назад" или "26 мая 2018 г.". Иногда может возникнуть задача спарсить все даты и привести их к единому виду. Как именно это сделать, можно узнать по ссылке выше.


Кроме этого:
Еще больше различных рецептов в нашем Каталоге!

Предлагайте ваши идеи для новых парсеров здесь, лучшие будут реализованы и опубликованы.

Подписывайтесь на наш канал на Youtube - там регулярно выкладываются видео с примерами использования A-Parser, а также следите за новостями в Twitter.

Предыдущие сборники рецептов:

4
Разгадывание рекаптч в JS парсере

Очередное видео в цикле уроков по созданию JavaScript парсеров. Здесь показано, как реализовать разгадывание рекаптч в JS парсере.



В уроке рассмотрено:
  • Описание и настройка парсера Util::ReCaptcha2
  • Описание принципа работы ReCaptcha2
  • Создание кастомного JavaScript парсера с поддержкой разгадывания рекаптч

Ссылки:
Оставляйте комментарии и подписывайтесь на наш канал на YouTube!

5
1.2.185 - увеличение скорости в SE::Google::Modern, новые возможности Net:: DNS, множество улучшений


 
Улучшения
  • SE::Google::Modern - многократно увеличена скорость парсинга
  • Множество улучшений в Net:: DNS:
    • Возможность указать несколько DNS и задать метод выбора
    • Бан нерабочих/плохих DNS по специальному эвристическому алгоритму
    • Возможность вывести в результат использованный DNS сервер при удачном запросе
  • В SE::Google::Modern добавлена опция Use sessions
  • В SE::Yandex::WordStat добавлена настройка пресета антигейта для логина
  • Также в SE::Yandex::WordStat удалены настройки Use logins/Use sessions, теперь они включены всегда
  • Добавлена возможность автоматического удаления задания из Завершенных
  • В макросе подстановок {num} добавлена поддержка обратного отсчета
  • В JavaScript парсерах добавлена возможность сохранения произвольных данных в сессии
  • В JavaScript парсерах добавлена возможность прямого сохранения в файл
  • В API методе oneRequest/bulkRequest добавлена возможность указать configPreset
  • В связи с неактуальностью удалены парсеры SE::Google::Mobile и SE::Yandex::Catalog
Исправления в связи с изменениями в выдаче
Исправления
  • Количество неудачных больше не обнуляется при постановке на паузу
  • Исправлена проблема с подключением Node.js модулей на Linux
  • Исправлено падение парсера в редких ситуациях при использовании JS парсеров
  • Решена проблема с подключением Node.js модулей lodash, sequelize
  • Исправлена ошибка итератора при равных границах в макросе {num}

6
Сборник статей #3: пагинация, переменные и БД SQLite

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

Обзор вариантов прохода по пагинации

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


Переменные в парсерах JavaScript

JS парсеры в А-Парсере появились уже около года назад. Благодаря им стало возможным решать очень сложные задачи по парсингу, реализовывая практически любую логику. В этой статье мы максимально подробно изучим работу с разными типами переменных, а также узнаем, как можно оптимизировать работу сложных парсеров. Все это - в статье по ссылке выше.


Разработка JS парсера с сохранением результата в SQLite

Начиная с версии 1.2.152 в A-Parser появилась возможность работать с БД SQLite.
В данной статье мы рассмотрим разработку JavaScript парсера, который будет парсить курсы валют из сайта finance.i.ua и сохранять их в БД. В результате получится парсер, в котором продемонстрированы основные операции с базами данных. Подробности, а также готовый парсер - по ссылке выше.



Если вы хотите, чтобы мы более подробно раскрыли какой-то функционал парсера, у вас есть идеи для новых статей или вы желаете поделиться собственным опытом использования A-Parser (за небольшие плюшки :) ) - отписывайтесь здесь.

Подписывайтесь на наш канал на Youtube - там регулярно выкладываются видео с примерами использования A-Parser, а также следите за новостями в Twitter.

Предыдущие сборники статей

7
Сборник рецептов #22: проверка индексации в нескольких ПС, многоуровневый парсинг и поиск сабдоменов

22-й сборник рецептов. В нем мы разберемся, как проверять индексацию всех страниц сайта одновременно в нескольких поисковиках, научимся парсить данные по ссылкам из выдачи одним заданием и будем искать сабдомены на сайтах. Поехали!

Получение страниц сайта и проверка индексации в Google и Яндекс

Данный пресет позволяет спарсить ссылки на все страницы сайта и одновременно проверить их на предмет индексации поисковиками (в примере Google и Яндекс, можно по аналогии добавить другие ПС). Готовый пресет и описание по ссылке выше.


Парсим title и description для TOP10 поисковой выдачи по ключевому слову

Пример использования tools.query.add в JavaScript парсерах. Данный парсер получает ссылки из выдачи, после чего собирает из каждой страницы title и description. И все это одним заданием с максимальной производительностью, благодаря многопоточному парсингу. Парсер с описанием доступны по ссылке выше.


Поиск сабдоменов сайта

Небольшой пример, который демонстрирует, как собрать поддомены одного или нескольких сайтов. Используется HTML::LinkExtractor и Parse to level для прохода вглубь по страницам сайта. При этом Конструктором результатов извлекаются из внутренних ссылок домены и выводятся с уникализацией по строке. Готовый пресет - по ссылке выше.


Кроме этого:
Еще больше различных рецептов в нашем Каталоге!
Предлагайте ваши идеи для новых парсеров здесь, лучшие будут реализованы и опубликованы.

Подписывайтесь на наш канал на Youtube - там регулярно выкладываются видео с примерами использования A-Parser, а также следите за новостями в Twitter.

Предыдущие сборники рецептов:

8
Видео урок: Создание JS парсеров. Работа с CAPTCHA

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



В уроке рассмотрено:
  • Создание JS-парсера для разгадывания капчи
  • Работа с объектом this.captcha внутри JavaScript кода
  • Описание процесса разгадывания каптчи, реализованного в A-Parser
Статья и готовый парсер: https://a-parser.com/resources/257/

Оставляйте комментарии и подписывайтесь на наш канал на YouTube!

9
1.2.160 - поддержка SQLite, проверка доменов на клей, Parse all results в SE::Yahoo


Улучшения
  • Добавлена поддержка SQLite в JavaScript парсерах и шаблонизаторе, пример использования здесь
  • Добавлена защита от случайного закрытия окна парсера
  • В SE::Yahoo добавлены Parse all results и Parse related to level
  • SE::Yandex::TIC полностью переписан, добавлена возможность проверять домены на клей
  • В Rank::MegaIndex добавлена поддержка ReCaptcha2
  • Улучшен парсинг сниппетов в SE:: DuckDuckGo
  • Улучшен сбор почт в HTML::EmailExtractor
Исправления в связи с изменениями в выдаче
  • Обновлен алгоритм Bypass Cloudflare
  • SE::Bing::Translator почти полностью переписан в связи с изменением логики работы переводчика Bing
  • Исправлена работа SE::Seznam с некоторыми видами запросов
  • Исправлен парсинг related keywords, а также мобильной выдачи в SE::Google::Modern
  • Исправлен парсинг related keywords в SE::Bing
  • Исправлена работа SE::IxQuick при работе с русскоязычными запросами
  • SE::Yandex:: Direct, SE::Google::ByImage, SE::Yandex::WordStat
Исправления
  • Исправлена работа SE::Google::Modern на IPv6 прокси
  • Исправлена ошибка, из-за которой SE::Google::Modern собирал ссылки с пометкой опасных сайтов в общий массив ссылок
  • Исправлена работа с оператором поиска + в SE::Bing
  • Исправлен парсинг запросов со спецсимволами в SE:: DuckDuckGo
  • Исправлена работа Rank::MajesticSEO
  • Исправлен баг с overrideOpts в JS парсерах
  • Исправлена работа с переменными при их создании в Parse custom results, а также при использовании нижнего подчеркивания в именах в Конструкторе результатов
  • Исправлена работа tools.js, баг появился в одной из предыдущих версий
  • Исправлен баг, из-за которого А-Парсер падал на некоторых ОС, появился в одной из предыдущих версий

10
Сборник рецептов #21: уведомления в Telegram из A-Parser, мультифильтр и парсинг IMDb

21-й сборник рецептов. В нем мы научимся отправлять сообщения в Telegram прямо из A-Parser, изучим работу с модулями Node.js в JS парсерах на примере решения задачи фильтрации по множеству признаков, а также спарсим весь IMDb. Поехали!

Уведомления в Telegram из A-Parser

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




Фильтрация по множеству признаков

Как известно, для фильтрации в А-Парсере используется встроенный функционал фильтров. Но бывают ситуации, когда список признаков, наличие которых нужно проверять, очень большой и его сложно вписать в строку стандартного фильтра.
Начиная с версии 1.2.127 в A-Parser добавлена поддержка модулей Node.js. Благодаря этому появилась возможность читать список признаков из файла и использовать его для проверки страниц. О том, как это сделать, а также готовый парсер с мультифильтром - по ссылке выше.



Парсинг рекомендаций фильмов из IMDb

Пример решения задачи по сбору данных о фильмах и их рекомендаций на IMDb. Данная статья показывает, как можно решать задачи, которые на первый взгляд требуют много времени и ресурсов, буквально за несколько часов. Узнать о том, как спарсить весь IMDb за 1,5 часа, а также посмотреть пресет и забрать готовую базу можно по ссылке выше.



Еще больше различных рецептов в нашем обновленном Каталоге!
Предлагайте ваши идеи для новых парсеров здесь, лучшие будут реализованы и опубликованы.

Подписывайтесь на наш канал на Youtube - там регулярно выкладываются видео с примерами использования A-Parser, а также следите за новостями в Twitter.

Сборники статей:

11
Использование Xevil совместно A-Parser для разгадывания ReCaptcha2



Как известно, сейчас Google при парсинге очень часто выдает рекаптчу, что значительно усложняет и замедляет сбор данных.
В A-Parser есть возможность обходить данную проблему, разгадывая рекаптчу с помощью сторонних сервисов. Поддерживаются различные онлайн сервисы, а также программные решения.

Одним из таких решений есть XEvil. Его использование дает хороший прирост в скорости, а также значительно удешевляет парсинг, ведь здесь нету оплаты за количество разгаданных каптч/рекаптч, как в онлайн сервисах. Кроме этого, XEvil умеет разгадывать практически любые обычные каптчи (в виде картинки) и данная возможность также поддерживается в A-Parser.



На данный момент использовать разгадывание рекаптчи с помощью XEvil можно в таких парсерах:
В видео показано:
  • подключение Xevil к A-Parser для работы с ReCaptcha2
  • проверка работы и демонстрация работы в SE::Google::Modern

Ознакомиться более детально с возможностями XEvil можно по ссылкам:
Оставляйте комментарии и подписывайтесь на наш канал на YouTube!

12
1.2.138 - поддержка Node.js модулей, обработка ReCaptcha2 во всех парсерах Google, парсер AliExpress



В 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 парсерах
  • SE::Google::Position, SE::Google::Compromised и SE::Google::TrustCheck полностью переписаны, добавлена поддержка ReCaptcha2
  • Улучшена работы SE::Google::Modern в целом
  • В SE::Youtube добавлен выбор языка, а также реализована возможность включать/отключать Безопасный режим
  • Добавлен Shop::AliExpress
  • Улучшена проверка создаваемых переменных в пресетах
  • Улучшена работа сессий
  • Исправлено отображение имени файла запроса на карточке задания
  • Улучшена работа скрола в Тестовом парсинге
  • Добавлено удаление переносов из сниппетов в SE::Google::Modern
  • Картинка каптчи в парсере SE::Yandex::Register теперь скачивается через прокси
  • Множество мелких улучшений в интерфейсе
Исправления в связи с изменениями в выдаче
Исправления
  • Исправлена работа Конструктора регулярных выражений
  • Исправлена работа с кодировками в парсерах переводчиков и JS парсерах
  • Исправлена работа SE::Google::Position
  • Исправлен выбор региона в SE::Yandex:: Direct
  • Исправлена работа опции Location в SE::Google::Modern
  • Исправлена работа сессий в SE::Google::Modern при переопределенном домене
  • Исправлена ошибка при совместном использовании опций Перезаписи файла, Начального и Конечного текстов
  • Исправлено отображение вкладок в Тесте задания
  • Исправлено отображение списка пресетов в поле Запустить по завершению
  • Исправлена работа this.proxy.set в JS парсерах
  • Исправлена передача дополнительных параметров в JS парсерах
  • Исправлена ошибка, из-за которой через API нельзя было указать Начальный и Конечный тексты
  • Исправлен экспорт пресетов

13
Видео урок: Создание JS парсеров. Парсинг сайта с проходом по страницах

Второе видео в цикле уроков по созданию JavaScript парсеров. Здесь рассказано о том, как написать несложный парсер сайта, который будет "листать" страницы, используя функционал JS парсеров в А-Парсере.



В уроке рассмотрено:
  • Создание кастомного JavaScript парсера без использования встроенных парсеров
  • Парсинг контента сайта постранично с использованием регулярных выражений
  • Реализация прохода по страницам ("пагинации") в JS парсере
Статья и готовый парсер: https://a-parser.com/resources/255/

Оставляйте комментарии и подписывайтесь на наш канал на YouTube!

14
Видео урок: Создание JS парсеров. Получение результатов от стандартного парсера

Это видео начинает цикл уроков по созданию JavaScript парсеров. Здесь рассказано о том, как начать писать собственные парсеры, используя функционал JS парсеров в А-Парсере.



В уроке рассмотрено:
  • Создание кастомного JS парсера
  • Использование встроенного парсера внутри JS парсера
  • Парсинг выдачи поисковой системы с фильтрацией результатов по заданному условию
Полезные ссылки:
Статья и готовый парсер: https://a-parser.com/resources/254/

Оставляйте комментарии и подписывайтесь на наш канал на YouTube!

15
1.2.78 - поддержка сессий в JS парсерах, улучшение SE::Google::Modern, правки в интерфейсе



Улучшения
  • Добавлена поддержка сессий в JavaScript парсерах
  • В SE::Google::Modern добавлена поддержка сессий и улучшена производительность за счет уменьшения частоты появления каптч/рекаптч
  • Добавлена переменная $query.prev - показывает запрос, который использовался на предыдущем уровне
  • Для JS парсеров добавлен метод this.logger.putHTML, который позволяет вывести в лог HTML код
  • В Lite версию добавленSE::Google::Modern и Util::ReCaptcha2
  • В x86 версиях добавлено предложение перейти на x64
  • Добавлена возможность переименовывания пресетов
  • В окне выбора пресета для папок реализована "память на сворачивание"
  • Изменены иконки для JS парсеров
  • Исправлены ошибки с переводом в интерфейсе
  • Исправлено отображение HTML тегов в логах
  • Исправлен баг при импорте с вложенным парсером
  • Исправлен баг с прокруткой при сохранении JS парсеров и пресетов
  • Доработан Конструктор регулярных выражений
  • Другие мелкие правки в интерфейсе, направленные на улучшение общей работы

Исправления в связи с изменениями в выдаче
  • В  SE::Google::Modern  исправлен парсинг сниппетов и рекламы, а также мобильной выдачи
  • В SE::Google::Suggest исправлен парсинг подсказок, а также добавлена опция Remove HTML tags, позволяющая получать подсказки с или без html тегов
  • Исправлен парсинг анкоров и сниппетов в SE::DuckDuckGo
  • SE::Ask, SE::Dogpile, Rank::Mustat
Исправления
  • Исправлен баг с перемещением заданий в очереди
  • В SE::Google::Modern  исправлен баг с кодировкой
  • Исправлена работа параметров Request delay и Extra query string во всех JS парсерах
  • Исправлен выбор файлов запросов
  • Исправлено отображение иконок для JS парсеров

Страницы: [1] 2