- PVSM.RU - https://www.pvsm.ru -

Анализ файлов robots.txt крупнейших сайтов

Robots.txt указывает веб-краулерам мира, какие файлы можно или нельзя скачивать с сервера. Он как первый сторож в интернете — не блокирует запросы, а просит не делать их. Интересно, что файлы robots.txt проявляют предположения веб-мастеров, как автоматизированным процессам следует работать с сайтом. Хотя бот легко может их игнорировать, но они указывают идеализированное поведение, как следует действовать краулеру.

По существу, это довольно важные файлы. Так что я решил скачать файл robots.txt с каждого из 1 миллиона самых посещаемых сайтов на планете и посмотреть, какие шаблоны удастся обнаружить.

Я взял список 1 млн крупнейших сайтов от Alexa [1] и написал маленькую программу [2] для скачивания файла robots.txt с каждого домена. После скачивания всех данных я пропустил каждый файл через питоновский пакет urllib.robotparser [3] и начал изучать результаты.

Анализ файлов robots.txt крупнейших сайтов - 1
Найдено в yangteacher.ru/robots.txt [4]

Огороженные сады: банят всех, кроме Google

Среди моих любимых питомцев — сайты, которые позволяют индексировать содержимое только боту Google и банят всех остальных. Например, файл robots.txt сайта Facebook начинается со следующих строк:

Notice: Crawling Facebook is prohibited unless you have express written permission. См. http://www.facebook.com/apps/site_scraping_tos_terms.php [5]

(Предупреждение: Краулинг Facebook запрещён без письменного разрешения. См. http://www.facebook.com/apps/site_scraping_tos_terms.php)

Это слегка лицемерно, потому что сам Facebook начал работу с краулинга профилей студентов на сайте Гарвардского университета — именно такого рода активность они сейчас запрещают всем остальным.

Требование письменного разрешения перед началом краулинга сайта плюёт в лицо идеалам открытого интернета. Оно препятствует научным исследованиям и ставит барьер для развития новых поисковых систем: например, поисковику DuckDuckGo запрещено скачивать страницы Facebook, а поисковику Google можно.

В донкихотском порыве назвать и посрамить сайты, которые проявляют такое поведение, я написал простой скрипт [6], который проверяет домены и определяет тех, которые внесли Google в белый список тех, кому разрешено индексировать главную страницу. Вот самые популярные из этих доменов:

Анализ файлов robots.txt крупнейших сайтов - 2
оригинальной статье [7] указаны также аналогичные списки китайских, французских и немецких доменов — прим. пер.)

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

У большинства из доменов в верхней части списка — таких как Facebook, LinkedIn, Quora и Yelp — есть одно общее. Все они размещают созданный пользователями контент, который представляет собой главную ценность их бизнеса. Это один из их главных активов, и компании не хотят отдавать его бесплатно. Впрочем, ради справедливости, такие запреты часто представляются как защита приватности пользователей, как в этом заявлении технического директора Facebook о решении забанить краулеры [8] или глубоко в файле robots.txt от Quora, где объясняется, почему сайт забанил Wayback Machine [9].

Далее по списку результаты становятся более противоречивыми — например, мне не совсем понятно, почему census.gov [10] позволяет доступ к своему контенту только трём основным поисковым системам, но блокирует DuckDuckGo. Логично предположить, что данные государственных переписей принадлежат народу, а не только Google/Microsoft/Yahoo.

Хотя я не фанат подобного поведения, но вполне могу понять импульсивную попытку внести в белый список только определённые краулеры, если учесть количество плохих ботов вокруг.

Боты плохого поведения

Я хотел попробовать ещё кое-что: определить самые плохие веб-краулеры в интернете, с учётом коллективного мнения миллиона файлов robots.txt. Для этого я подсчитал, сколько разных доменов полностью банят конкретный useragent — и отранжировал их по этому показателю:

user-agent Тип Количество
MJ12bot [11] SEO 15156
AhrefsBot [12] SEO 14561
Baiduspider [13] Поисковая система 11473
Nutch [14] Поисковая система 11023
ia_archiver [15] SEO 10477
WebCopier [16] Архивация 9538
WebStripper [17] Архивация 8579
Teleport [18] Архивация 7991
Yandex [19] Поисковая система 7910
Offline Explorer [20] Архивация 7786
SiteSnagger [21] Архивация 7744
psbot [22] Поисковая система 7605
TeleportPro [18] Архивация 7063
EmailSiphon [23] Спамерский скрапер 6715
EmailCollector [24] Спамерский скрапер 6611
larbin [25] Неизвестно 6436
BLEXBot [26] SEO 6435
SemrushBot [27] SEO 6361
MSIECrawler [28] Архивация 6354
moget [29] Неизвестно 6091

В списке боты нескольких определённых типов.

Первая группа — краулеры, которые собирают данные для SEO и маркетингового анализа. Эти фирмы хотят получить как можно больше данных для своей аналитики — генерируя заметную нагрузку на многие сервера. Бот Ahrefs даже хвастается: «AhrefsBot — второй самый активный краулер после Googlebot [30]», так что вполне понятно, почему люди хотят заблокировать этих надоедливых ботов. Majestic (MJ12Bot) позиционирует себя как инструмент конкурентной разведки. Это значит, что он скачивает ваш сайт, чтобы снабдить полезной информацией ваших конкурентов — и тоже на главной странице заявляет о «крупнейшем в мире индексе ссылок [31]».

Вторая группа user-agents — от инструментов, которые стремятся быстро скачать веб-сайт для персонального использования в офлайне. Инструменты вроде WebCopier [32], Webstripper [33] и Teleport [34] — все они быстро скачивают полную копию веб-сайта на ваш жёсткий диск. Проблема в скорости многопоточного скачивания: все эти инструменты очевидно настолько забивают трафик, что сайты достаточно часто их запрещают.

Наконец, есть поисковые системы вроде Baidu (BaiduSpider) и Yandex, которые могут агрессивно индексировать контент, хотя обслуживают только языки/рынки, которые не обязательно очень ценны для определённых сайтов. Лично у меня оба эти краулера генерируют немало трафика, так что я бы тоже посоветовал их заблокировал их.

Объявления о работе

Это знак времени, что файлы, которые предназначены для чтения роботами, часто содержат объявления о найме на работу разработчиков программного обеспечения — особенно специалистов по SEO.

В каком-то роде это первая в мире (и, наверное, единственная) биржа вакансий, составленная полностью из описаний файлов robots.txt. оригинальной статье [7] представлены тексты всех 67 вакансий из файлов robots.txt — прим. пер.).

Есть некоторая ирония в том, что Ahrefs.com [35], разработчик второго среди самых забаненных ботов, тоже поместила в своём файле robots.txt [35] объявление о поиске SEO-специалиста. А ещё у pricefalls.com объявление о работе в файле robots.txt [36] следует после записи «Предупреждение: краулинг Pricefalls запрещён, если у вас нет письменного разрешения».

Весь код для этой статьи — на GitHub [2].

Автор: m1rko

Источник [37]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/yandeks/267617

Ссылки в тексте:

[1] список 1 млн крупнейших сайтов от Alexa: http://s3.amazonaws.com/alexa-static/top-1m.csv.zip

[2] маленькую программу: https://github.com/benfred/bens-blog-code/tree/master/robots.txt-analysis

[3] urllib.robotparser: https://docs.python.org/3.0/library/urllib.robotparser.html

[4] yangteacher.ru/robots.txt: http://yangteacher.ru/robots.txt

[5] Notice: Crawling Facebook is prohibited unless you have express written permission. См. http://www.facebook.com/apps/site_scraping_tos_terms.php : http://facebook.com/robots.txt

[6] простой скрипт: https://github.com/benfred/bens-blog-code/blob/master/robots.txt-analysis/

[7] оригинальной статье: http://www.benfrederickson.com/robots-txt-analysis/

[8] заявлении технического директора Facebook о решении забанить краулеры: https://news.ycombinator.com/item?id=1440154

[9] файле robots.txt от Quora, где объясняется, почему сайт забанил Wayback Machine: https://www.quora.com/robots.txt

[10] census.gov: http://census.gov/robots.txt

[11] MJ12bot: http://mj12bot.com/

[12] AhrefsBot: http://ahrefs.com/robot

[13] Baiduspider: http://help.baidu.com/question?prod_en=master&class=Baiduspider

[14] Nutch: http://nutch.apache.org/bot.html

[15] ia_archiver: https://support.alexa.com/hc/en-us/articles/200450194-Alexa-s-Web-and-Site-Audit-Crawlers

[16] WebCopier: http://www.maximumsoft.com/index.htm

[17] WebStripper: http://download.cnet.com/WebStripper/3000-2377_4-10046091.html

[18] Teleport: http://www.tenmax.com/teleport/pro/home.htm

[19] Yandex: https://yandex.com/support/search/robots/user-agent.html

[20] Offline Explorer: http://www.metaproducts.com/Offline_Explorer.htm

[21] SiteSnagger: https://www.pcmag.com/article2/0,2817,24421,00.asp

[22] psbot: http://www.picsearch.com/bot.html

[23] EmailSiphon: http://www.useragentstring.com/pages/useragentstring.php?name=EmailSiphon

[24] EmailCollector: http://www.useragentstring.com/pages/useragentstring.php?name=EmailCollector

[25] larbin: http://www.useragentstring.com/pages/useragentstring.php?name=larbin

[26] BLEXBot: http://webmeup-crawler.com/

[27] SemrushBot: https://www.semrush.com/bot/

[28] MSIECrawler: http://www.useragentstring.com/pages/useragentstring.php?name=MSIECrawler

[29] moget: http://www.useragentstring.com/pages/useragentstring.php?name=moget

[30] AhrefsBot — второй самый активный краулер после Googlebot: https://ahrefs.com/robot

[31] крупнейшем в мире индексе ссылок: https://majestic.com/

[32] WebCopier: http://www.maximumsoft.com/products/wc_windows/overview.html

[33] Webstripper: http://webstripper.net/

[34] Teleport: http://www.tenmax.com/teleport/home.htm

[35] Ahrefs.com: http://ahrefs.com/robots.txt

[36] файле robots.txt: http://pricefalls.com/robots.txt

[37] Источник: https://habrahabr.ru/post/341774/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best