Как я могу обнаружить ботов программно

Я думаю, что request.head вместо request.get будет более безопасным для вызова при обработке перенаправления URL-адресов, проверьте gitub issue здесь :

r = requests.head(url, allow_redirects=True)
print(r.url)

14
задан Cœur 10 September 2017 в 05:56
поделиться

5 ответов

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

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

Вы также можете создать «ловушку для плохого бота», разместив на своей странице скрытую ссылку, ведущую на страницу, отфильтрованную в вашем файле robots.txt. Серьезные боты не перейдут по ссылке, и люди не смогут по ней щелкнуть, поэтому файл запрашивает только бот, не соблюдающий правила.

19
ответ дан 1 December 2019 в 09:12
поделиться

Я думаю, что многие боты могут быть идентифицированы пользовательским агентом, но, конечно, не все из них. Список известных IP - я бы тоже на него не рассчитывал.

Может сработать эвристический подход. Боты обычно намного быстрее переходят по ссылкам, чем люди. Возможно, вы сможете отслеживать IP-адрес каждого клиента и определять среднюю скорость, с которой он переходит по ссылкам. Если это краулер, он, вероятно, сразу же следует по каждой ссылке (или, по крайней мере, намного быстрее, чем люди).

0
ответ дан 1 December 2019 в 09:12
поделиться

Вы уже добавили robots.txt? Хотя это не решит проблему использования вредоносного бота, вы можете быть удивлены тем, что на вашем сайте уже происходит законная активность ползания.

0
ответ дан 1 December 2019 в 09:12
поделиться

В зависимости от типа бота, которого вы хотите обнаружить:

9
ответ дан 1 December 2019 в 09:12
поделиться

Я не думаю, что будет список IP-адресов ботнетов, IP-адреса ботнетов не статичны,и никто не знает, кто такие боты, включая пользователей, которые ведут себя как боты.

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

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

0
ответ дан 1 December 2019 в 09:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: