Парсер актуальных UserAgent-ов с разбивкой по типам Платформа/ОС/Браузер

Voronin

Client
Регистрация
30.09.2019
Сообщения
43
Благодарностей
35
Баллы
18
Всем Привет!

Предлагаю вашему вниманию шаблон по парсингу строк UserAgent с сайта myip.ms. Шаблон был сделан в свое время как часть другого большого проекта, но сейчас готов поделиться им со всеми желающими. :-)

Шаблон выполнят 3 функции:

- может парсить актуальные UserAgent и сохранять их в файлы с разбивкой по типам Платформа/ОС/Браузер

- может сохранить статистку браузеров в отдельный файл xml

- может писать таймлайны – последовательность UserAgent при заходе на сайт

----------------------------------------

История появления шаблона, следующая (если кому интересно):

Итак, в свое время у меня возникла задача сделать так, чтобы статистика посетителей (боты Зеннопостера) на одном моем сайте выглядели максимально естественно. Ну т.е. были бы заходы с различных браузеров и устройств и выглядело это максимально правдоподобно. Рандомизация с которой ЗенноПостер создает новые профили меня не устроила. Потому как там часто то браузер Вивальди попадется, то ещё какая-то дичь.

Что же делать? – подумал я. На ум пришла идея - взять статистику посещений с какого-нибудь живого сайта в Интернете, который показывает UserAgent посетителя и на её основе сделать похожие заходы на свой сайт. После долгих часов Гуглинга был найден такой сайт - myip.ms. Возможно есть и другие сайты, но этот меня вполне устроил.

Статистика визитов выглядит следующим образом:

51410


На сайте также есть много других полезных данных - в основном это всякая стата по использованию IP, Браузеров и многое другое. Сам сайт недружелюбен к тем, кто пытается его парисить, поэтому при первом заходе включается антибот защита. Замечено что при заходе с некоторых IP это просто кнопка, которую нужно нажать, при заходе с других IP выскакивает кнопка + антикапча. Шаблон решает и то и другое, в качестве антикапчи используется сервис CapMonsterCloud, если кому-то нужен другой сервис, то следует поменять его прямо в шаблоне.

Внешний вид шаблона следующий:

51411


Основной кубик парсинга написан на c#, поэтому шаблон будет также интересен тем, кто хочет улучшить свои скилы в написании кода. Если кому интересно, то могу чуть позже добавить описание того, что делает основной кубик.

Настройки шаблона:

51412


Настроек немного, в основном здесь задается, что должен делать шаблон с полученными данными:

Первый параметр сколько страниц с сайта парсить. На одной странице находится 50 строк, таким образом если поставить парсить 10 страниц, то будет напарсено 500 строк. Этого вполне хватает. Сам сайт после определенного количества запросов начнет писать, что вы исчерпали суточный лимит запросов. Поэтому нужно будет менять IP, но это уже в функционал шаблона не входит.

Параметр номер 2 – описание в конце

Параметр номер 3 - сохранять строки UserAgent в файлы с разбивкой по типам Платформа/ОС/Браузер. Результат работы шаблона в папке user-agents создаются файлы:

51413


Параметр номер 4 – Запись таймлайнов. Таймлайны - это последовательность разных браузеров при заходе на сайт. Таймлайны можно записать в одном из двух форматов: в формате Платформа-ОС-Браузер, либо целиком значение UserAgent. В первом случае файл выглядит следующим образом:

51414


Во втором следующим образом:

51415


Как можно это использовать? Лично я это делаю следующим образом: генерирую большое количество профилей под разные браузеры самим ЗенноПостероми сохраняю их в папку. Затем беру записанный таймлайн и по коду Платформа-ОС-Браузер нахожу подходящий профиль, загружаю его и дальше делаю визит на сайт под этим профилем.

Можно также работать более топороно: взять таймлайн в формате номер 2, под каждую строчку генерировать любой профиль ЗенноПостером, затем в нем менять UserAgent, на тот что есть в файле.

И наконец, второй параметр - сохранить статистку браузеров в отдельный файл xml

Статистика сохранятся в файл statistics.xml следующего вида:

51416


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

Полученную статистику можно использовать на свое усмотрение.

Что с ней делаю я? Тут идут более сложные математические вычисления суть которых в том, что генерируется случайное число, далее на основе весовых коэффициентов под это число подбирается браузер. Ну т.е. весовой коэффициент у Windows-Chrome выше, чем, например, Android-YandexBrowser. Таким образом Windows-Chrome будет выпадать чаше. Далее как в примере выше генерирую большое количество профилей под разные браузеры самим ЗенноПостероми и сохраняю их в папку. Затем беру по коду Платформа-ОС-Браузер подходящий профиль, загружаю его и дальше делаю визит на сайт под этим профилем.

Установка

Необходимо скопировать файлы dll в папку ЗенноПостера - ExternalAssemblies:

[Путь к зеннопостеру]\ExternalAssemblies\

Если ЗенноПостер установлен в папку Program Files, то это папка вида (номер версии может отличаться):

C:\Program Files\ZennoLab\RU\ZennoPoster Standard\5.40.0.0\Progs\ExternalAssemblies\
 
Категория
Полезно

Вложения

Err0r

Client
Регистрация
17.05.2015
Сообщения
156
Благодарностей
102
Баллы
43

specialist

Client
Регистрация
28.12.2018
Сообщения
690
Благодарностей
280
Баллы
63
Статистика визитов
....
Потому как там часто то браузер Вивальди попадется
Интересно, на сколько популярен станет вивальди в этой статистике после множественных заходов с зенопостера ) ?
 
  • Спасибо
Реакции: orka13 и Oleg1987

Gefest

Client
Регистрация
30.04.2016
Сообщения
73
Благодарностей
14
Баллы
8
От души шаблон, проголосовал)
 
  • Спасибо
Реакции: Voronin

Rulfus

Новичок
Регистрация
17.02.2020
Сообщения
2
Благодарностей
1
Баллы
3
А можно поставить на ZennoBox?
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
861
Благодарностей
456
Баллы
63

JurgenZolle

Client
Регистрация
19.09.2018
Сообщения
62
Благодарностей
5
Баллы
8
ну, не знаю... у меня выбивает ошибку что в ZP что в PM

53150


и, насколько я помню, на самом сайте стоит ограничение на парсинг.
 

Phoenix78

Client
Регистрация
06.11.2018
Сообщения
2 506
Благодарностей
1 139
Баллы
113
это внутренняя ошибка C# совершенно ни как не связанная с сайтом
 

JurgenZolle

Client
Регистрация
19.09.2018
Сообщения
62
Благодарностей
5
Баллы
8
это внутренняя ошибка C# совершенно ни как не связанная с сайтом
я это понимаю)) я про то, что сайт не позволяет делать глубокий парс, стоит лимит на бесплатное посещение - какое-то определенное кол-во страниц.
а указанная ошибка относится к шаблону, который у меня не заработал.
 

killer911

Client
Регистрация
23.03.2015
Сообщения
454
Благодарностей
94
Баллы
28
У кого нибудь на 7ке шаблон работает?
У меня выдаёт ошибку:
Выполнение действия CSharp OwnCode: Основной парсинг. Файл 'f:\zenno\useragents.parser\statistics.xml' не найден.
a1c710d9-44af-4400-9788-7d34471a9c86
 

dimafatality

Client
Регистрация
19.01.2014
Сообщения
192
Благодарностей
176
Баллы
43
Последнее редактирование:

Voronin

Client
Регистрация
30.09.2019
Сообщения
43
Благодарностей
35
Баллы
18
У кого нибудь на 7ке шаблон работает?
У меня выдаёт ошибку:
Выполнение действия CSharp OwnCode: Основной парсинг. Файл 'f:\zenno\useragents.parser\statistics.xml' не найден.
a1c710d9-44af-4400-9788-7d34471a9c86
56499

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

todayer

Client
Регистрация
07.08.2013
Сообщения
95
Благодарностей
7
Баллы
8
Подскажите, правильно ли я понял, что самый используемая версия хрома сейчас 41я на windows 7? Или может эти данные не актыальны на сегодня?

 

Phoenix78

Client
Регистрация
06.11.2018
Сообщения
2 506
Благодарностей
1 139
Баллы
113
ну если не хром, то интернет эксплорер :-) реально им пользуются ? o_O
 

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