Перейти к основному содержимому

Настройки

A-Parser cодержит следующие группы настроек:

  • Общие настройки - основные настройки программы: язык, пароль, параметры обновлений, количество активных заданий
  • Настройки потоков - настройки потоков и методов уникализации для заданий
  • Настройки парсеров - возможность настроить каждый отдельный парсер
  • Настройки проверки прокси - количество потоков и все настройки для проксичекера
  • Дополнительные настройки - опциональные настройки для продвинутых пользователей
  • Пресеты заданий - сохранение заданий для последующего использования

Все настройки(кроме общих и дополнительных) сохраняются в т.н. пресеты - наборы заранее сохраненных настроек, например:

  • Разные пресеты настроек для парсера SE::GoogleSE::Google - один для парсинга ссылок с максимальной глубиной 10 страниц по 100 результатов, другой - для оценки конкуренции по запросу, глубина парсинга 1 страница по 10 результатов
  • Разные пресеты настроек проксичекера - отдельные для HTTP и SOCKS прокси

Для всех настроек существует пресет по умолчанию(default), его нельзя изменить, все изменения должны сохраняться в пресетах с новыми именами.

Общие настройки#

Общие настройки программы

Название параметраЗначение по умолчаниюОписание
ПарольНет пароляЗадать пароль для входа в А-Парсер
LanguageEnglishЯзык интерфейса
Новости и подсказкиEnglishЯзык новостей и подсказок
Включить подсказкиОпределяет отображать ли подсказки
Проверять обновленияОпределяет отображать ли информацию о доступности нового обновления в Статус баре
Сохранять размер окнаОпределяет сохранять ли размер окна
Канал обновленийСтабильныйВыбор канала обновлений(Стабильный, Бета, Альфа)
Заданий на страницу5Количество заданий на страницу в Очереди заданий
Максимум активных заданий1Максимальное количество активных заданий
Общий лимит потоков10000Общий лимит потоков в А-Парсере. Задание не запустится, если общий лимит потоков меньше кол-ва потоков в задании
Динамический лимит потоковОпределяет использоваь ли Динамический лимит потоков
Количество ядер CPU2Количество ядер для А-Парсера. Несколько ядер используется только при фильтрации, Конструкторе результатов, Parse custom result
Memory SaverBest speedПозволяет определять как много памяти может использовать парсер(Best speed / Medium memory usage / Save max memory). Подробнее...

Настройки потоков#

Работа A-Parser построена по принципу многопоточной обработки данных. Парсер параллельно выполняет задачи в отдельных потоках, количество которых можно гибко варьировать в зависимости от конфигурации сервера.

Описание работы потоков#

Давайте разберёмся что такое потоки на практике. Допустим вам необходимо составить отчет за три месяца.

Вариант 1
Вы можете составить отчёт в начале за 1-й месяц, затем за 2-й, а затем за 3-ий. Это пример однопоточной работы. Задачи решаются по очереди.

Вариант 2
Нанять троих бухгалтеров, которые будут составлять отчёты каждый по одному месяцу. А затем по получении результатов от троих сделать уже общий отчёт. Это пример многопоточной работы. Задачи решаются одновременно.

Как видно из этих примеров, многопоточная работа позволяет выполнить задачу быстрее, но в то же время требует больше ресурсов (нам нужно 3 бухгалтера вместо 1-го). Аналогично работает многопоточность и в А-Парсере. Допустим, вам нужно парсить информацию с нескольких ссылок:

  • при одном потоке приложение будет парсить каждый сайт по очереди
  • при работе в несколько потоков каждый будет обрабатывать свою ссылку, по завершению которой будет приступать к следующей необработанной в списке

Таким образом во втором варианте вся задача будет выполнена значительно быстрее, но при этом требуется больше ресурсов сервера, поэтому рекомендуется соблюдать Системные требования.

Настройка потоков#

Настройка потоков в А-Парсере осуществляется отдельно для каждого задания, в зависимости от параметров которые требуются для его выполнения. По умолчанию доступно 2 конфига потоков: на 20 (default) и 100 (100 Threads) потоков. Для того чтобы попасть в настройки выбранного конфига, нужно нажать на иконку карандаша кнопка редактировать конфиг потоков , после чего откроются его настройки. кнопка редактировать конфиг потоков в редакторе заданий

Также перейти к настройкам потоков можно через пункт меню: Настройки - Настройки потоков.

Здесь мы можем:

  • создать новый конфиг со своими собственными настройками и сохранить его под своим названием (кнопка Добавить новый)
  • внести изменения в существующий конфиг, выбрав его из выпадающего списка (кнопка Сохранить)

настройки конфига потоков

Число потоков(Threads count)#

Данный параметр задает количество потоков, в которое будет работать задание, запущенное с этим конфигом. Количество потоков может быть любое, но нужно учитывать возможности вашего сервера, а также ограничение тарифа прокси, если такое ограничение предусмотрено. Например для наших прокси можно указать не больше выбранного тарифа.

note

Также важно помнить, что общее кол-во потоков в парсере равно сумме работающих заданий и включенных проксичекеров с проверкой прокси. Например, если запущено одно задание на 20 потоков и два задания по 100 потоков каждое, а также работает один проксичекер, в котором включена проверка прокси в 15 потоков, то суммарно парсер будет использовать 20+100+100+15=235 потоков. При этом, если тариф прокси расчитан на 200 потоков, то будет множество неудачных запросов. Чтобы их избежать, нужно понизить используемое кол-во потоков. Например, отключить проверку прокси (если она не нужна, то это сэкономит 15 потоков) и понизить кол-во потоков в каком-то из задания еще на 20 потоков. Таким образом для одного из работающих заданий нужно создать конфиг на 80 потоков, остальные оставить как есть

Проксичекеры(Proxy Checkers)#

Этот параметр дает возможность выбора проксичекера с определенными настройками. Здесь можно выбрать параметр All, который означает использование всех работающих проксичекеров, либо только те, которые нужно использовать в задании (доступен выбор нескольких позиций)

note

Эта настройка позволяет запускать задание только с нужными проксичекерами. Процесс настройки проксичекера рассмотрен здесь

Максимум потоков на один прокси(Max threads per proxy)#

Здесь задается максимальное количество потоков, на которых одновременно будет использоваться один и тот же прокси. Позволяет задать разные параметры, например работу 1 поток = 1 прокси.

note

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

Глобальный бан прокси(Global proxy ban)#

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

Например, забаненный прокси в SE::GoogleSE::Google в задании 1 будет также забанен для SE::GoogleSE::Google и в задании 2, но при этом он может свободно работать в SE::YandexSE::Yandex в обоих заданиях

Максимум подключений на один хост(Max connections per host)#

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

По-умолчанию этот параметр имеет значение 0, т.е. отключен

Повторное использование прокси между попытками(Reuse proxy between retries)#

Эта настройка отключает проверку на уникальность прокси для каждой попытки, а так же не будет работать бан прокси. Это в свою очередь означает возможность использовать 1 прокси для всех попыток.

Данный параметр рекомендуется включать например в тех случаях, когда планируется использовать 1 прокси, при каждом подключении к которому меняется выходной IP

Рекомендации#

В этой статье рассмотрены все настройки, которые дают возможность управлять потоками. Стоит отметить, что при настройках конфига потоков не обязательно задавать все параметры, которые указанные в статье, достаточно задать только те, которые обеспечат получение корректного результата. Обычно нужно менять только Threads count, остальные настройки можно оставлять по-умолчанию.

Настройки парсеров#

Каждый парсер имеет множество настроек и позволяет сохранять разные наборы настроек в пресеты. Система пресетов позволяет использовать один и тот же парсер с разными настройками в зависимости от ситуации, разберем на примере парсера SE::GoogleSE::Google:

Пресет 1: "Парсинг максимального числа ссылок"#

  • Количество страниц(Pages count): 10
  • Ссылок на страницу(Links per page): 100

Таким образом парсер будет собирать максимальное количество ссылок, переходя по всем страницам поисковой выдачи

Пресет 2: "Парсинг конкуренции по запросу"#

  • Количество страниц(Pages count): 1
  • Ссылок на страницу(Links per page): 10
  • Формат результата(Results format): $query: $totalcount\n

В данном случае мы получаем количесво результатов выдачи по запросу(конкуренция запроса) и для большей скорости нам достаточно спарсить только первую страницу с минимальным числом ссылок

Создание пресетов#

скриншот создания пресета

Создание пресет начинается с выбора парсера/парсеров и определением результата которое нужно получить.

Далее нужно понять какие будут входные данные для выбранного парсера, на скриншоте выше выбран парсер SE::GoogleSE::Google, у него входные данне это любые строки как если бы вы что-то искали в браузере. Можно выбрать файл запросов или ввести запросы в текстовое поле.

Теперь нужно переопределить настройки(выбрать опции) для парсера, добавить уникализацию. Можно использовать конструктор запросов, если нужно обработать запрос. Или использовать конструктор результатов, если нужно обработать каким-то образом резлуьтаты.

Далее нужно обратить внимание на редактирование имени файла результатов, и если нужно поменять на своё усмотрение.

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

После всего этого нужно сохранить пресет и добавить в очередь заданий.

Переопределение настроек#

Override preset - быстрое переопределение настроек для парсера, эту опцию можно добавить непосредственно в Редакторе заданий. В один клик можно добавить несколько параметров. В списке настроек указаны дефолтные значения, а если опция выделена жирным то значит она уже переопределена в пресете

где находятся опции для выбранного парсера и как добавить опции

В данном примере переопределенно две опции: Pages count (Количество страниц) было изменено с дефолтных 10 на 5 и Links per page (Ссылок на страницу) было задано значение 100.

В задании можно использовать неограниченное число опций Override preset, но если изменений много, удобнее создать новый пресет и в него сохранить все изменения.

Также сохранить переопределения можно легко с помощью функции Сохранить переопределения. Они будут сохранены как отдельный пресет для выбранного парсера.

как сохранить переопределенные опции

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

выбор сохраненного пресета для конкретного парсера

Общие настройки для всех парсеров#

Каждый парсер имеет свой набор настроек, информацию по настройкам каждого парсера вы можете найти в соответсвующем разделе

В данной таблице мы представили общие настройки для всех парсеров

Название параметраЗначение по умолчаниюОписание
Request retries10Количество попыток на каждый запрос, если запрос не удаётся выполнить за указанное число попыток то он считается неудачным и пропускается
Use proxyОпределяет использовать ли прокси
Query format$queryФормат запроса
Result formatУ каждого парсера свое значениеФормат вывода результата
Proxy ban timeУ каждого парсера свое значениеВремя бана прокси в секундах
Request timeout60Максимальное время ожидания запроса в секундах
Request delay0Задержка между запросами в секундах, можно задавать случайное значение в промежутке, например 10,30 - задержка от 10 до 30 секунд
Proxy CheckerAllПрокси от каких чекеров должны использоваться (выбор между всеми или перечисление конкретных)

Общие для всех парсеров работающих по протоколу HTTP#

Название параметраЗначение по умолчаниюОписание
Max body sizeУ каждого парсера свое значениеМаксимальный размер страницы выдачи в байтах
Use gzipОпределяет использовать ли сжатие передаваемого трафика
Extra query string-Позволяет указать дополнительные параметры в строку запроса
note

Настройки по умолчанию для каждого парсера могут отличаться. Они хранятся в пресете default в настройках каждого парсера.

Настройки проксичекеров#

Настройка прокси

Дополнительные настройки#

где находятся дополнительные настройки

  • Перенос строки позволяет выбрать между Unix и Windows вариантом окончания строк при сохранении результатов в файл
  • Формат чисел - задает как выводить числа в интерфейсе A-Parser'а
  • Макросы шаблонов
Последнее обновление