Почему содержимое robots.txt отличается при ручном доступе и через ChromeDriver и Chrome через Selenium - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь соблюдать файл robots.txt при сканировании через Интернет, и я столкнулся с чем-то странным. URL robots.txt, к которому я пытаюсь получить доступ: https://podatki.gov.si/robots.txt

Если я открою эту ссылку в Chrome, я получу следующее:

User-agent: *
Disallow: /

Но если я открою эту ссылку с помощью Internet Explorer или Selenium WebDriver (ChromeDriver), я получу следующее:

#
# robots.txt
#
# This file is to prevent the crawling and indexing of certain parts
# of your site by web crawlers and spiders run by sites like Yahoo!
# and Google. By telling these "robots" where not to go on your site,
# you save bandwidth and server resources.
#
# This file will be ignored unless it is at the root of your host:
# Used:    http://example.com/robots.txt
# Ignored: http://example.com/site/robots.txt
#
# For more information about the robots.txt standard, see:
# http://www.robotstxt.org/robotstxt.html

User-agent: *
Crawl-delay: 10
# CSS, JS, Images
Allow: /misc/*.css$
Allow: /misc/*.css?
Allow: /misc/*.js$
Allow: /misc/*.js?
Allow: /misc/*.gif
Allow: /misc/*.jpg
Allow: /misc/*.jpeg
Allow: /misc/*.png
Allow: /modules/*.css$
Allow: /modules/*.css?
Allow: /modules/*.js$
Allow: /modules/*.js?
Allow: /modules/*.gif
Allow: /modules/*.jpg
Allow: /modules/*.jpeg
Allow: /modules/*.png
Allow: /profiles/*.css$
Allow: /profiles/*.css?
Allow: /profiles/*.js$
Allow: /profiles/*.js?
Allow: /profiles/*.gif
Allow: /profiles/*.jpg
Allow: /profiles/*.jpeg
Allow: /profiles/*.png
Allow: /themes/*.css$
Allow: /themes/*.css?
Allow: /themes/*.js$
Allow: /themes/*.js?
Allow: /themes/*.gif
Allow: /themes/*.jpg
Allow: /themes/*.jpeg
Allow: /themes/*.png
# Directories
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /themes/
# Files
Disallow: /CHANGELOG.txt
Disallow: /cron.php
Disallow: /INSTALL.mysql.txt
Disallow: /INSTALL.pgsql.txt
Disallow: /INSTALL.sqlite.txt
Disallow: /install.php
Disallow: /INSTALL.txt
Disallow: /LICENSE.txt
Disallow: /MAINTAINERS.txt
Disallow: /update.php
Disallow: /UPGRADE.txt
Disallow: /xmlrpc.php
# Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /filter/tips/
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
Disallow: /user/logout/
# Paths (no clean URLs)
Disallow: /?q=admin/
Disallow: /?q=comment/reply/
Disallow: /?q=filter/tips/
Disallow: /?q=node/add/
Disallow: /?q=search/
Disallow: /?q=user/password/
Disallow: /?q=user/register/
Disallow: /?q=user/login/
Disallow: /?q=user/logout/

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

1 Ответ

0 голосов
/ 22 марта 2019

Я наблюдал то же поведение, как показано ниже:

  • При доступе к веб-странице https://podatki.gov.si/robots.txt вручную я получил:

    User-agent: *
    Disallow: /
    
  • При доступе к веб-странице https://podatki.gov.si/robots.txt с использованием ChromeDriver и Chrome я получил:

    #
    # robots.txt
    #
    # This file is to prevent the crawling and indexing of certain parts
    # of your site by web crawlers and spiders run by sites like Yahoo!
    # and Google. By telling these "robots" where not to go on your site,
    # you save bandwidth and server resources.
    #
    # This file will be ignored unless it is at the root of your host:
    # Used:    http://example.com/robots.txt
    # Ignored: http://example.com/site/robots.txt
    #
    # For more information about the robots.txt standard, see:
    # http://www.robotstxt.org/robotstxt.html
    
    User-agent: *
    Crawl-delay: 10
    # CSS, JS, Images
    Allow: /misc/*.css$
    Allow: /misc/*.css?
    Allow: /misc/*.js$
    Allow: /misc/*.js?
    Allow: /misc/*.gif
    Allow: /misc/*.jpg
    Allow: /misc/*.jpeg
    Allow: /misc/*.png
    Allow: /modules/*.css$
    Allow: /modules/*.css?
    Allow: /modules/*.js$
    Allow: /modules/*.js?
    Allow: /modules/*.gif
    Allow: /modules/*.jpg
    Allow: /modules/*.jpeg
    Allow: /modules/*.png
    Allow: /profiles/*.css$
    Allow: /profiles/*.css?
    Allow: /profiles/*.js$
    Allow: /profiles/*.js?
    Allow: /profiles/*.gif
    Allow: /profiles/*.jpg
    Allow: /profiles/*.jpeg
    Allow: /profiles/*.png
    Allow: /themes/*.css$
    Allow: /themes/*.css?
    Allow: /themes/*.js$
    Allow: /themes/*.js?
    Allow: /themes/*.gif
    Allow: /themes/*.jpg
    Allow: /themes/*.jpeg
    Allow: /themes/*.png
    # Directories
    Disallow: /includes/
    Disallow: /misc/
    Disallow: /modules/
    Disallow: /profiles/
    Disallow: /scripts/
    Disallow: /themes/
    # Files
    Disallow: /CHANGELOG.txt
    Disallow: /cron.php
    Disallow: /INSTALL.mysql.txt
    Disallow: /INSTALL.pgsql.txt
    Disallow: /INSTALL.sqlite.txt
    Disallow: /install.php
    Disallow: /INSTALL.txt
    Disallow: /LICENSE.txt
    Disallow: /MAINTAINERS.txt
    Disallow: /update.php
    Disallow: /UPGRADE.txt
    Disallow: /xmlrpc.php
    # Paths (clean URLs)
    Disallow: /admin/
    Disallow: /comment/reply/
    Disallow: /filter/tips/
    Disallow: /node/add/
    Disallow: /search/
    Disallow: /user/register/
    Disallow: /user/password/
    Disallow: /user/login/
    Disallow: /user/logout/
    # Paths (no clean URLs)
    Disallow: /?q=admin/
    Disallow: /?q=comment/reply/
    Disallow: /?q=filter/tips/
    Disallow: /?q=node/add/
    Disallow: /?q=search/
    Disallow: /?q=user/password/
    Disallow: /?q=user/register/
    Disallow: /?q=user/login/
    Disallow: /?q=user/logout/
    

robots.txt

Согласно robotstxt.org владельцы веб-сайтов используют файл robots.txt, чтобы давать инструкции о своем сайте веб-роботам.Это называется Протокол исключения роботов .

Он работает следующим образом:

  • Робот хочет получить URL-адрес веб-сайта, например, http://www.example.com/welcome.html.
  • Прежде чем сделать это, он проверяет наличие http://www.example.com/robots.txt, и находит:

    User-agent: *
    Disallow: /
    
    • User-agent: * означаетэтот раздел относится ко всем роботам.
    • Disallow: / сообщает роботу, что он не должен посещать какие-либо страницы на сайте.

Есть два важных соображенияпри использовании robots.txt:

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

Outro

При использовании ChromeDriver и Chrome navigator.webdriver определяет стандартный способ взаимодействия пользовательских агентов для информирования документа о том, что он управляется WebDriver , так что альтернативные пути кода могут запускаться во время автоматизации,Следовательно, вы можете видеть больше содержимого из robots.txt.

. Соответствующее обсуждение можно найти в Selenium webdriver: Изменение флага navigator.webdriver для предотвращения обнаружения селена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...