Парсим google в 2020 Hrefer и его модификация. Парсинг всего и вся.
Желая раскрыть
все стороны программного комплекса XRumer, мне нужно было вытащить google на поверхность.
Весь потенциал сферы, в которой я работаю и для которой покупался программный
комплекс, лежит в google. Парсить ссылки из yahoo, которые уже пару лет как
забанены google может оказаться не просто бессмысленно, а, даже, вредно.
Нужно было
найти способ парсить google. В этом нам поможет Hrefer. Для начала посмотрим и
попытаемся определить, насколько он эффективен в современных реалиях в исходном
варианте.
Итак,
приступим к настройке
В тестовую
базу добавим ключей, по которым Мы будем парсить google тут все просто.
Запустим Hrefer
и выберем нужную нам базу
Для теста
я убрал все вариации запросов, оставив только слеш.
Подключил
парсинг мобильной версии google.
Подключил
прокси лист и запустил парсинг. Как и ожидалось практически все прокси ушли в
бан уже на первом же запросе. Та же самая ситуация была и в мобильной версии google.
Я начал искать мануалы по Hrefer но внятного ни чего не нашел, как всегда
пришлось думать самостоятельно.
Сначала в
папке с Hrefer я нашел файл Cookie.txt, который должен был решить, как мне
казалось, мою проблему. Но после перезагрузки и попытки парсинга, прокси, все
еще, улетали в бан на первом запросе. Следующим был файл конфигурации engines.ini,
в котором находятся основные настройки парсеров поисковых систем.
Сначала я
попробовал заменить https://www.google.com на разные зеркала google (http://ditu.google.cn http://www.google.com.bd
и т.д) что не давало ни какого результата. Я не привык отступать и отправился
на поиск к самому гуглу в хром браузер. И начал анализировать формирование url. Итогом стало изменение стоки запроса на
Query=search?q=[QUERY]&num=100&hl=ru&newwindow=1&prmd=imvnsl&ei=EXBkUPXKL4rm4QSBz4H4Cw&start=[[PAGE*100]]&sa=N&biw=1138&bih=635&lr=lang_en
Я изменил
тип запроса с search?as_q= на search?q= добавив несколько параметров, а так же
добавив ключ который генерировал браузер в запросах при обращении с моего
компьютера. Я не особо разбирался к чему и откуда они берутся, а просто вставил
то, что увидел в своем браузере.
Результатом
стало то, что я начал получать ответы от гугл. Прокси периодически банились, но
я уже смог адекватно парсить гугл.
Вот такой
нехитрой модификацией в работе Hrefera, с
которой справится даже школьник, можно парсить ссылки с google в 2020.
Несколько важных моментов при таком виде модификации Нужно чаще менять этот ключ &ei=EXBkUPXKL4rm4QSBz4H4Cw и,
разумеется, нужны прокси получше. Как использовать парсинг выдачи гугл думаю
рассказывать не нужно.
Дополню статья так как нашел интересную закономерность. Если с парсингом запустить одновременно XRumer + XEvil 4.0 который в процессе постинга будет решать recaptcha 2 (которую XEvil 4.0 уже также научился решать) на тех же ip процент банов заметно снижается. Почему так происходит. Я заметил что у гугла есть общий спамофильтр который учитывает не только переходы в поиске но и прохождение системы антибота на разных сайтах.
В среднем мне удалось спарсить на публичных соксах, где-то 500-700 ссылок на ip (это прокси которые изначально не были забанены гуглом). На приватных покупных 8000-10000 на 1-ip, после чего прокси уходит в глубокий бан.
ВАЖНОЕ ДОПОЛНЕНИЕ.
Покупаем мультипортные мобильные прокси. Либо берем такие же резидентные (чем больше будет конечный пул у оператора тем лучше). Мобильные обойдутся дешевле. Резидентные с большим пулом дороже. И парсим гугл вдоль и поперек. Паршу второй день без задержек.
Дополню статья так как нашел интересную закономерность. Если с парсингом запустить одновременно XRumer + XEvil 4.0 который в процессе постинга будет решать recaptcha 2 (которую XEvil 4.0 уже также научился решать) на тех же ip процент банов заметно снижается. Почему так происходит. Я заметил что у гугла есть общий спамофильтр который учитывает не только переходы в поиске но и прохождение системы антибота на разных сайтах.
В среднем мне удалось спарсить на публичных соксах, где-то 500-700 ссылок на ip (это прокси которые изначально не были забанены гуглом). На приватных покупных 8000-10000 на 1-ip, после чего прокси уходит в глубокий бан.
ВАЖНОЕ ДОПОЛНЕНИЕ.
Покупаем мультипортные мобильные прокси. Либо берем такие же резидентные (чем больше будет конечный пул у оператора тем лучше). Мобильные обойдутся дешевле. Резидентные с большим пулом дороже. И парсим гугл вдоль и поперек. Паршу второй день без задержек.
Всем удачи
в парсинге google. Главное не забывайте пробовать и все у Вас получится.
Дабы не делать отдельную статью под другие ПС опишу вкратце тут.
1. Яндекс с мобильными и резидентными проксями парсится и без изменений.
2. Бинг тоже парсится. Даже без проксей. Бингу нужны куки иначе он банит ip. Идеальное сочетание куки+прокси.
3. Логику остальных поисковиков нужно либо менять как в примере выше. Там все решается за несколько минут.
4. Не забываем что гугл уже в результатах не выдает 10+100 страниц как раньше.
Google изменил логику выдачи, теперь он к ссылкам добавляет ключ.
В простом варианте нам нужно заменить строчку <div class="rc"><div class="r"><a[...]href="[LINK]" на <div class="r"><a[...]href="[LINK]" в файле engines.ini
То есть убрать <div class="rc"> параметр, так как теперь в ссылках все изменилось.
Если у Вас что то не работает, всегда смотрите код поисковой системы. Там все запредельно просто.
Опишу вкратце.Hostname= Имя поисковой системы
Query= Запрос который вводим в браузер. Можете перед работой копировать актуальную строку из своего браузера вставлять туда макрос запроса [QUERY]
TotalPages= Сколько страниц парсить. В гугле нужно ставить не больше 3. Сейчас он редко выдает больше результатов.
NextPage= и NextPage2= параметры обработки страниц.
CaptchaURL=/sorry/index
CaptchaImage=sorry/image?id=
CaptchaField=captcha
Выше блок обработки капчи.
В принципе, это все настройки для любой ПС, понимание которых больше чем достаточно для настройки любого парсера (не только Hrefer).
Того что мне осталось проверить и понять уходит ли капча на проверку в гугл через XEvil или логику нужно дописывать. Та же самая ситуация с яндекс.
А теперь точно всем удачи.
What proxies do you use for Google Mobile scraping?
ОтветитьУдалитьI tried to use IPV6 but it is not working.
Only IPV4 is working.