Версия для печати

-   Форум Сообщества Практиков Конкурентной разведки (СПКР) http://forum.razved.info/
--  Программируем пакеты СайтСпутника (для продвинутых юзеров) http://forum.razved.info//index.php?f=39
--- Пакеты. Обходим Антироботы поисковиков http://forum.razved.info//index.php?t=807




-- tungus1973 написал 19 февраля 2010 19:02
Пакеты. Обходим "антироботы" поисковиков

Сегодня столкнулся с интересной задачей. Потребовалось выполнить в Яндексе (и только в Яндексе!) одинаковые запросы по 129 компаниям. Очень быстро сделал большой пакет и запустил СайтСпутник на его выполнение. Но вот незадача! После выполнения 10 строк запросов Яндекс включает "Антиробот" - просит ввести число с картинки.

При написании пакетов поиска по нескольким поисковикам, мы просто чередуем между собой запросы к разным поисковикам. Но что делать, если у нас в пакете запросы только к одному поисковику?

В итоге нашел такое решение: вставил между строками пакета "пустые запросы" к другим поисковикам:

запрос1 || Yandex=1
|| Google=1
|| Mail=1
||Rambler=1
||Yahoo=1
||MSN=1
запрос2 || Yandex=1
|| Google=1
|| Mail=1
||Rambler=1
||Yahoo=1
||MSN=1
запрос3 || Yandex=1
|| Google=1
|| Mail=1
||Rambler=1
...

Таким образом, между каждым обращением к Яндексу, СайтСпутник открывает стартовые страницы других поисковиков.

Известны ли Вам ещё какие-нибудь способы обхода "антиробота" при использовании СайтСпутника?


-- Алексей Мыльников написал 21 февраля 2010 10:58

tungus1973 написал:
[q]
Известны ли Вам ещё какие-нибудь способы обхода "антиробота" при использовании СайтСпутника?
[/q]

В версии 6.1.4.2 от 21.02.10 переделан, упрощен и дополнен антиробот.

1. ЗАМЕНИЛ "думающий" переключатель в "настройки - Параметры - Вкладка Интернет - "Обеспечение глубины поиска (от 0 до 100 страниц поисковика)"",
на простой и понятный - "Антиробот: пауза между открытиями страниц поисковиков (от 0 до 20 сек)".
Если установить этот переключатель, например, в 3, то между открытиями страниц поисковиков СайтСпутник будет делать 3-х секундную паузу.
Это позволит открыть большее количество страниц поисковиков, не натыкаясь на антиробот.

2. Появился оператор: ^^Пауза=<число> Его можно вводить прямо в тексте пакета (или справа в запросе).
Приведенный в первом топике пакет, где tungus1973 отвлекал СайтСпутник на выполнение пустых запросов, может теперь выглядеть так:

^^пауза=4
Запрос 1 || Yandex=1
Запрос 2 || Yandex=1
Запрос 3 || Yandex=1

3. Оператор ^^Пауза=<число> приоритетнее, чем настройка из пункта 1. Поэтому, набрав его в тексте пакета, можно не переустанавливать настройку при переходе от пакета к пакету.




-- Vinni написал 21 февраля 2010 13:33
А чего не попробовать использовать обращения через группу прокси для обхода таких ограничений? Вон в том же 3proxy есть фича - выбор прокси случайным образом из группы прокси для каждого запроса :wink:


-- Алексей Мыльников написал 21 февраля 2010 14:27

Vinni написал:
[q]
А чего не попробовать использовать обращения через группу прокси для обхода таких ограничений? Вон в том же 3proxy есть фича - выбор прокси случайным образом из группы прокси для каждого запроса
[/q]

Причина следующая - соблюдение (не нарушение) правил, которые устанавливает используемый ресурс (в данном случае поисковик).

Не "хочет", например, Яндекс обрабатывать с одного компьютера 100 запросов в минуту, значит на то есть причина и, соответственно, не стоит пытаться обмануть "папу". Понять его можно: если на орбиту Яндекса будет запущено 100 СайтСпутников, каждый из которых начнет тянуть одеяло на себя, если другие разработчики программ будут создавать программы перегружающие его аналогичным или другим способом, то одеяло может и порваться ...



-- vbl написал 5 марта 2010 15:56
Ура, на часть вопросов получил ответ. Проблема роботом Яндекса отравляет жизнь уже достаточно давно, но в обычном поиске с использованием СайтСпутника не сильно мешает. А вот вчера заметил, что эта же проблема всплывает и при создании карты сайта (в т.ч. углубленной). Как в этом случае исправить ситуацию?




-- Алексей Мыльников написал 6 марта 2010 12:44

vbl написал:
[q]
Ура, на часть вопросов получил ответ. Проблема роботом Яндекса отравляет жизнь уже достаточно давно, но в обычном поиске с использованием СайтСпутника не сильно мешает. А вот вчера заметил, что эта же проблема всплывает и при создании карты сайта (в т.ч. углубленной). Как в этом случае исправить ситуацию?
[/q]

1. Ян_дек с "злопамятен", дайте ему забыть о Вас. Не ищите в нем 15-24 часа.
2. Можно войти в него через IE, задать любой поиск, ввести запрашиваемое на капче число, но все равно желательно выполнить пункт 1.
3. После этого при построении больших карт сайтов (КС) используйте параметр: "Настройки - Параметры - Вкладка Интернет - "Антиробот: пауза между открытиями страниц поисковиков (от 0 до 20 сек)".

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



-- Vinni написал 6 марта 2010 20:48

Alexei Mylnikov написал:
[q]
1. Ян_дек с "злопамятен", дайте ему забыть о Вас. Не ищите в нем 15-24 часа.
[/q]


То есть он учитывает историю данного IP (и возможно использует куки) :wink:




-- vbl написал 6 марта 2010 23:43

Alexei Mylnikov написал:
[q]
1. Ян_дек с "злопамятен", дайте ему забыть о Вас. Не ищите в нем 15-24 часа.
2. Можно войти в него через IE, задать любой поиск, ввести запрашиваемое на капче число, но все равно желательно выполнить пункт 1.
3. После этого при построении больших карт сайтов (КС) используйте параметр: "Настройки - Параметры - Вкладка Интернет - "Антиробот: пауза между открытиями страниц поисковиков (от 0 до 20 сек)".
[/q]


1. Понятно, ну тут мы ему нос утрем :evil: , айпишник то у нас динамический. Только придется каждый раз отключаться - подключаться

3. Используем, но если не сделать, то что я указал в пункте 1, то помогает мало. К тому же очень долго идет процесс. При выставлении паузы в 4 сек., карта сайта, по моим субъективным подсчетам, создается раза в три дольше (а это примерно пара часов).



-- vbl написал 6 марта 2010 23:44

Vinni написал:
[q]
То есть он учитывает историю данного IP (и возможно использует куки) :wink:
[/q]


На мой взгляд, куки он не использует, так как все проходит при разрыве и новом восстановлении соединения с интернетом (у нас динамичный IP).



-- CI-KP написал 7 марта 2010 22:29

vbl написал:
[q]
айпишник то у нас динамический. Только придется каждый раз отключаться - подключаться
[/q]

Да. Это помогает. А еще, у него прямо предусмотрена регистрация для "хороших роботов". Если айпишник статический. но количество запросов не больше, чем он пропускает - можно воспользоваться.


-- Vinni написал 7 марта 2010 23:26
Интересно, а если через Тор работать (какбэ через проксю), это поможет? :smile:


-- vbl написал 8 марта 2010 8:45

CI-KP написал:
[q]
А еще, у него прямо предусмотрена регистрация для "хороших роботов"
[/q]


А можно ссылочку?



-- CI-KP написал 8 марта 2010 9:42
По-моему, он одновременно с капчей ее и выдает. Насколько я помню, она ведет сюда:
_ttp://help.yandex.ru/xml/licence.xml


-- tungus1973 написал 8 марта 2010 9:54

vbl написал:
[q]
Интересно, а если через Тор работать (какбэ через проксю), это поможет?
[/q]
Я использую програму "Offline Explorer Pro (http://www.offlineexplorerpro.com/)" (портативная версия называется "Portable Offline Browser (http://www.portableofflinebrowser.com/)") для исследования и скачивания сайтов. В ней есть одна очень интересная функция - "задать список прокси". В специальное окно нужно один раз ввести список прокси-серверов. В дальнейшем этот список можно дополнять, помещая новые прокси. Начав исследование или скачивание сайта, программа обращается к нему не напрямую, а через прокси, выбирая их случайным образом.

Дополнительно можно также настроить временные задержки - паузы между скачиванием, время задержки программы на страничке. Всё это задаётся не жестко ("4 секунды"), а гибко, например, от "1 до 10 секунд". Таким образом, паузы тоже выбираются случайным образом из некоторого диапазона.

Всё вышесказанное маскирует исследование сайта. С точки зрения администратора всё выглядит так, как будто одновременно несколько пользователей из разных городов (стран) заходят на сайт, просматривают странички, скачивают их для себя.

Мне кажется, что такой механизм обхода антироботов подошёл бы к любой программе.

Вообще в Offline Browser есть масса других приятных особенностей:
- проверка "типовых" каталогов, невидимых обычным пользователям, но присутствующих на сайтах;
- вычисление адресов ссылок через исследование кода java-скрипта;
- закачка одновременно нескольких проектов;
- и многое, многое другое.
Рекомендую программу. Очень помогает в работе.

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


-- CI-KP написал 8 марта 2010 10:07
tungus1973, спасибо!


-- Искендер написал 8 марта 2010 10:35

tungus1973 написал:
[q]
Я использую програму "Offline Explorer Pro" (портативная версия называется "Portable Offline Browser") для исследования и скачивания сайтов. В ней есть одна очень интересная функция - "задать список прокси". В специальное окно нужно один раз ввести список прокси-серверов. В дальнейшем этот список можно дополнять, помещая новые прокси. Начав исследование или скачивание сайта, программа обращается к нему не напрямую, а через прокси, выбирая их случайным образом.
[/q]

Программа именно обращается к исследуемому сайту через прокси из списка или каким-то образом (не кидайте тяжелым в голову) эти прокси подставляет вместо реальных? Ну, вдруг такое возможно? :smile:


-- tungus1973 написал 8 марта 2010 10:40

Искендер написал:
[q]
Программа именно обращается к исследуемому сайту через прокси из списка или каким-то образом (не кидайте тяжелым в голову) эти прокси подставляет вместо реальных? Ну, вдруг такое возможно?
[/q]
Как-то не задавался этим вопросом... Не знаю, как именно программа работает через прокси.



-- vbl написал 8 марта 2010 21:36

tungus1973 написал:
[q]
Я использую програму "Offline Explorer Pro"
[/q]


Тоже пользуемся этой програмкой, но только версией Enterprise. Классная штука. Но, к сожалению, имеет свои ограничения. Так, опытным путем убедились, что есть ряд сайтов, где админами установлена какая-то защита (не каптча, ибо ничего ввести не предлагает, тупо блокирует), при любом скачивании, даже с максимальной паузой. Был бы очень признателен, если бы подсказали решение данной проблемы.



tungus1973 написал:
[q]
Начав исследование или скачивание сайта, программа обращается к нему не напрямую, а через прокси, выбирая их случайным образом.
[/q]


А программа в процессе скачивания одного сайта их может чередовать или она просто выбирает один и шпарит через него?

Спасибо за таблицу, интересно.

И еще вопросик, не подскажете имеется ли в ней возможность автоматического конвертирования страниц скачанного сайта в формат txt ?



-- Vinni написал 9 марта 2010 1:26

vbl написал:
[q]
Так, опытным путем убедились, что есть ряд сайтов, где админами установлена какая-то защита (не каптча, ибо ничего ввести не предлагает, тупо блокирует), при любом скачивании, даже с максимальной паузой. Был бы очень признателен, если бы подсказали решение данной проблемы.
[/q]


а какой-там user-agent используется? могут блокировать по нему - смените его :wink:
либо блокируют из-за того что прокси находится в черном списке - попробуйте через другой прокси

что за сайт-то ?


-- tungus1973 написал 9 марта 2010 7:46

vbl написал:
[q]
пытным путем убедились, что есть ряд сайтов, где админами установлена какая-то защита (не каптча, ибо ничего ввести не предлагает, тупо блокирует)
[/q]
Перешлите разработчикам адреса таких сайтов и опишите проблему. Авторы программы хоть и работают в Америке, но это - русские ребята. На письма отвечают довольно быстро. Либо подскажут Вам как обойти защиту, либо через какое-то время внесут изменения в программу.
Проблема еще может быть, если сайт написан на flesh-технологии (особенно с шифрованием). С такими действительно сплошное мучение...


vbl написал:
[q]
А программа в процессе скачивания одного сайта их может чередовать или она просто выбирает один и шпарит через него?
[/q]
Чередует.


vbl написал:
[q]
И еще вопросик, не подскажете имеется ли в ней возможность автоматического конвертирования страниц скачанного сайта в формат txt ?
[/q]
Можете воспользоваться бесплатной утилитой "HtmlAsText (http://www.nirsoft.net/utils/htmlastext.html)". Она выбрасывает теги о оставляет текст в формате txt.


-- vbl написал 9 марта 2010 7:58

Vinni написал:
[q]
что за сайт-то ?
[/q]


Например, вот этот - _ttp://resident.su/ru/ или вот этот _ttp://kursk.rosrabota.ru/

Попробуем сменить user-agent



-- vbl написал 9 марта 2010 8:04

tungus1973 написал:
[q]
Чередует.
[/q]


Спасибо


tungus1973 написал:
[q]
Можете воспользоваться бесплатной утилитой "HtmlAsText". Она выбрасывает теги о оставляет текст в формате txt.
[/q]


Ее сейчас и используем, просто это двойная работа получается и к тому же она работает только с htm и html, а всякие php, aspx и т.п. она не обрабатывает, а их достаточно много. Может есть и для них какая прога?




-- tungus1973 написал 9 марта 2010 9:43

vbl написал:
[q]
работает только с htm и html, а всякие php, aspx и т.п. она не обрабатывает, а их достаточно много. Может есть и для них какая прога?
[/q]
В "Offline Explorer" встроен перенос результатов в "TextPipe" (если он у вас есть), может быть существует какой-то плагин, который способен обрабатывать php, aspx?


-- Vinni написал 9 марта 2010 16:44

[q]

или вот этот _ttp://kursk.rosrabota.ru/
[/q]


этот просто считает число запросов с данного IP за некоторый промежуток времени (видимо достаточно большой и не покрываемый большим таймаутом), предлагает ввести капчу и блокирует запросы без ввода капчи :wink:
так что тут спасет только параллельная закачка через большое число проксей


vbl написал:
[q]
Например, вот этот - _ttp://resident.su/ru/
[/q]

аналогично - выдает код 503 и предлагает ввести капчу.

без матлаба здесь не обойтись для обхода капчи :laugh:



-- vbl написал 9 марта 2010 17:26
Для: Vinni

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

Ладно, бог с ним, есть аналогичный ресурс, без этих заморочек. Жалко только, что там база только с 2006 года.


-- Vinni написал 9 марта 2010 17:32

vbl написал:
[q]
а вот второй...
[/q]


а со вторым та же проблема и тот же способ решения :wink:


-- Игорь Нежданов написал 3 июня 2010 10:41

Alexei Mylnikov написал:
[q]
2. Появился оператор: ^^Пауза=<число> Его можно вводить прямо в тексте пакета (или справа в запросе).
Приведенный в первом топике пакет, где tungus1973 отвлекал СайтСпутник на выполнение пустых запросов, может теперь выглядеть так:

^^пауза=4
Запрос 1 || Yandex=1
Запрос 2 || Yandex=1
Запрос 3 || Yandex=1

3. Оператор ^^Пауза=<число> приоритетнее, чем настройка из пункта 1. Поэтому, набрав его в тексте пакета, можно не переустанавливать настройку при переходе от пакета к пакету.
[/q]


Тоже столкнулся с антироботом :sad: по сему вопрос возник - а данный оператор (^^пауза=) работает по всему запросу или только в месте запроса где поставлен? Вопрос связан с тем, что антиробот только на нашем родном поисковике работает, а на других все нормально. По этой причине замедлять работу всего пакета не целесообразно, а нужно замедлиться только при обращении к определенному сервису. Иначе пакет выполняется уже тридцать минут и еще не закончился :sad:


-- Алексей Мыльников написал 3 июня 2010 10:59

Иоанн написал:
[q]
Тоже столкнулся с антироботом по сему вопрос возник - а данный оператор (^^пауза=) работает по всему запросу или только в месте запроса где поставлен? Вопрос связан с тем, что антиробот только на нашем родном поисковике работает, а на других все нормально. По этой причине замедлять работу всего пакета не целесообразно, а нужно замедлиться только при обращении к определенному сервису. Иначе пакет выполняется уже тридцать минут и еще не закончился
[/q]

Антиробот работает по всему пакету. Поисковики периодически меняют алгоритм борьбы с роботами. То Гугль "капризничает", то Яндекс, то Bing.

Реально сделать оператор типа:
^^Пауза.Yandex=7;
^^Пауза.Google=3; и так далее...



-- tungus1973 написал 3 июня 2010 11:14

Иоанн написал:
[q]
Тоже столкнулся с антироботом :sad: по сему вопрос возник - а данный оператор (^^пауза=) работает по всему запросу или только в месте запроса где поставлен?
[/q]
Я в своё время, столкнувшись с той же проблемой, применял способ "пустых запросов":

|| Поисковик=n

где:
Поисковик - Yandex, Google, Mail, MSN и т.д.
n - любое число больше 0.
Перед знаком || ничего нет ("пустой запрос").

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


Еще один вариант - в настройках программы увеличить время задержки между запросами. Но в этом случае ВСЕ запросы будут выполняться медленнее.


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

Запрос 1 || Yandex=1000
Запрос 2 || Yandex=1000
Запрос 3 || Yandex=1000


то на 6-ом запросе Яндекс поинтересуется, а не робот ли Вы?

А если запросы перемешать:

Запрос 1 || Yandex=1000
Запрос 1 || Mail=1000
Запрос 1 || Google=1000
...
Запрос 2 || Yandex=1000
Запрос 2 || Mail=1000
Запрос 2 || Google=1000


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


-- Игорь Нежданов написал 3 июня 2010 13:53

Alexei Mylnikov написал:
[q]
Реально сделать оператор типа:
^^Пауза.Yandex=7;
^^Пауза.Google=3; и так далее...
[/q]

м-м-м-м стесняюсь спросить - т.е. этих операторов пока нет? :blush:

tungus1973 написал:
[q]
Я в своё время, столкнувшись с той же проблемой, применял способ "пустых запросов":

|| Поисковик=n
....
[/q]

Спасибо!


-- Алексей Мыльников написал 3 июня 2010 14:08

Иоанн написал:
[q]
м-м-м-м стесняюсь спросить - т.е. этих операторов пока нет?
[/q]

Нет, пока только
^^Пауза=7;
одна на все поисковики.



ЗАМЕЧАНИЕ ОТ 31.08.10
=====================
Обсуждаемые проблемы решены. Можно ответить на капчу и делать "персональные" паузы на Яндексе, Гугле и Яху.
Смотрите на этом форуме в другой теме - forum.razved.info/index.php?t=1044&p=13433#pp13433


-- Игорь Нежданов написал 3 июня 2010 20:48
Значит будем тасовать :smile:


-- Игорь Нежданов написал 4 июня 2010 10:44
Потасовал запросы внутри пакета, поставил задержку - большой брат перестал проверять меня на причастность к расе роботов :smile:


-- Семёныч написал 12 декабря 2012 16:22
Столкнулся и я недавно с проблемой капчи. При чём капчу спрашивал только Яндекс (как я заметил сперва). Не был бы он столь мощным поисковиком по рунету - вырубил бы его к чертям, всю работу "Планировщика заданий" рубит на корню. А так пришлось перечитать форум, найти эту ветку и победить (на долго ли? - время покажет) капчу с помощью ^^Пауза.Yandex=5
Но позже я заметил следующий момент: капчу спрашивает и Рамблер, только почему-то программа не останавливается, как на капче Яндекса, а работает дальше, проскакивая Рамблер. Выходит, в поиск не попадают результаты Рамблера? Алексей, если не сложно, проверьте пожалуйста, может это только у меня такой специфический глюк.

Вообще, как-то не понятно, почему поисковики типа Mail.ru, Google, Bing, tut.by, gogo.by и др. не заморачиваются с капчами, а Яндекс, как "девочка-недотрога"? Ещё заметил, что утром капчу запрашивает чаще, чем если поиск-мониторинг запускать ближе к концу рабочего дня.
Ну, спросил капчу раз-другой-третий и пусть бы запомнил, что с этого IP не робот ходит, раз капчу вводят. Ни фига! С утра и до обеда отрабатываются пакеты и постоянно приходится вводить капчу, по 15-25 раз. Пришлось даже отказаться от "Планировщика задач". Теперь, надеюсь, я эту проблему победил.


-- Vinni написал 12 декабря 2012 18:18
Как правило капча начинает спрашиваться поисковиком, если с данного IP идет за какой-то недавний промежуток времени более определенного числа запросов (т.е. пользователь слишком часто вводит запросы :evil: ).
Увеличение паузы для Яндекса приводит к замедлению работы... :sad:
По-хорошему, в таких случаях надо ставить локальный балансирующий прокси (тот же 3proxy это может) и купить на дешевых хостингах несколько VDS, на которых тоже поставить прокси. Тогда запросы к поисковикам будут равномерно распределяться по нескольким IP (плюс можно и куки до кучи удалять) и проблем будет меньше :cactus-emot




-- Семёныч написал 12 декабря 2012 18:47

Vinni написал:
[q]
Увеличение паузы для Яндекса приводит к замедлению работы... :sad:
[/q]

Да, я сперва "дал маху", настроил Антиробот на 15 сек паузу. Не только для Яндекса, а для всех поисковиков, в Настройках-Параметры-Интернет-Антиробот. Очень медленно всё стало собирать. Потом узнал про ^^Пауза.Yandex= - это меня и выручило.


Этот форум работает на скрипте Intellect Board
© 2004-2007, 4X_Pro, Объединенный Открытый Проект