Ответы на вопросы парсера о, казалось бы, устрашающем, но простом текстовом файле.

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

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

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

Что такое файл robots.txt?

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

Файл robots.txt находится на странице домена веб-сайта, и его можно найти, добавив /robots.txt после домена, например domain.com/robots.txt. Несоблюдение правил в файле осуждается и может привести к судебным разбирательствам.

Когда дело доходит до файла robots.txt, есть две основные заинтересованные стороны: владельцы веб-сайтов, которые хотят контролировать сканирование или оптимизацию SEO, и веб-пользователи, желающие очистить данные. В этой статье основное внимание будет уделено пользователям Интернета и тому, как они могут интерпретировать файл, почему он важен, а также всем другим распространенным вопросам, касающимся его использования.

Как интерпретировать файл robots.txt?

Файл robots.txt состоит из одного или нескольких блоков правил, каждый из которых начинается со строки user-agent с соответствующими правилами в каждой предыдущей строке. User-agent относится к конкретному боту или пауку, к которому он обращается.

Пользовательские агенты могут:

  • Иметь собственный набор инструкций по блокировке для конкретных поисковых систем.
  • Создайте единый набор инструкций по блокировке для всех поисковых систем, использующих подстановочный знак *.

Давайте посмотрим на файл Medium: https://medium.com/robots.txt

User-Agent: *
Disallow: /m/
Disallow: /me/
Disallow: /@me$
Disallow: /@me/
Disallow: /*/edit$
Disallow: /*/*/edit$
Disallow: /media/
Disallow: /p/*/share
Disallow: /r/
Disallow: /t/
Disallow: /trending
Disallow: /search?q$
Disallow: /search?q=
Allow: /_/
Allow: /_/api/users/*/meta
Allow: /_/api/users/*/profile/stream
Allow: /_/api/posts/*/responses
Allow: /_/api/posts/*/responsesStream
Allow: /_/api/posts/*/related
Sitemap: https://medium.com/sitemap/sitemap.xml

Такие правила, как Disallow и Allow, действуют именно так, как звучат. Эти строки указывают, к каким относительным путям или частям веб-сайта паук может или не может получить доступ.

Запретить

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

Полный доступ. Пустое значение после Disallow означает, что ничего не запрещается. Другими словами, сканирование не запрещено. Например, этот блок позволяет всем поисковым системам сканировать все части сайта.

User-agent: *
Disallow:

Блокировать полный доступ. В следующем примере всем пользовательским агентам запрещается сканирование любого раздела сайта.

User-agent: *
Disallow: /

Частичный доступ. Чаще всего в следующем примере всем пользовательским агентам запрещается сканировать /trending каталог на сайте и все в нем (подкаталоги).

User-agent: *
Disallow: /trending

Другими словами, Medium не позволяет вам скрывать трендовые страницы любой публикации на своем сайте.

Разрешать

Хотя чаще встречаются запрещающие правила, некоторые домены любят включать разрешающие правила, когда хотят указать определенные веб-страницы или пути, разрешенные для сканирования. Обычно эта команда работает только с пользовательским агентом: Google-bot.

Например, все разрешающие правила Medium относятся к его API публикации, чтобы разработчики могли легко подключиться к сети Medium.

Allow: /_/
Allow: /_/api/users/*/meta
Allow: /_/api/users/*/profile/stream
Allow: /_/api/posts/*/responses
Allow: /_/api/posts/*/responsesStream
Allow: /_/api/posts/*/related

Задержка сканирования

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

Crawl-delay: 10

Карта сайта

Правило карты сайта дает сканерам местоположение карты сайта в формате XML, которая предоставляет дополнительную информацию и позволяет ботам более эффективно сканировать сайт.

Каковы ограничения файла robots.txt?

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

  1. Правила могут поддерживаться не всеми поисковыми системами, что означает, что они не могут обеспечить выполнение работы сканера, а только предоставляют рекомендации. Однако большинство основных двигателей подчиняются правилам.
  2. Разные сканеры по-разному интерпретируют синтаксис, поэтому лучше знать определенные детали конкретного поискового робота.

Что делать, если файла robots.txt не существует?

Ура - ваша первая склонность может заключаться в том, что отсутствие robots.txt означает, что вы можете очистить все и вся. Это не совсем так. Не для всех веб-сайтов определены файлы robots.txt. В этих случаях вам следует проверить любые Условия или другие юридические страницы на веб-сайте, поскольку они часто могут содержать подробную информацию о том, что допустимо, когда речь идет о поисковых роботах и ​​извлечении данных. Лучше всего проверять как термины, так и robots.txt.

Что еще я могу сделать, если не уверен, что удаляю данные с веб-сайта?

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

Заключение

Непонимание файла robots.txt или рекомендаций веб-сайта по извлечению данных из-за того, что это сбивает с толку или пугает, также не может служить оправданием для непослушания. Как мы видели, интерпретация файла и его правил, а также получение дополнительных разъяснений - это довольно просто! И в дальнейшем все, что вам нужно сделать, это не забыть прочитать и соблюдать правила веб-сайта для ваших проектов по очистке данных. Удачного соскабливания!

Надеюсь, вам понравилось это краткое вводное руководство. Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы или проблемы, оставив комментарий ниже или связавшись со мной в LinkedIn. И если вам понравилась эта статья, вы можете проверить эти сообщения, которые посвящены реальным проектам парсинга веб-страниц:







Ресурсы

  1. Https://developers.google.com/search/docs/advanced/robots/intro
  2. Https://www.cloudflare.com/learning/bots/what-is-robots.txt/