Существует ли прямой прокси-сервер, который будет искать и подчиняться robots.txt
файлы в удаленных интернет-доменах и применять их от имени запрашивающих через прокси?
например Представьте себе веб-сайт www.example.com, на котором robots.txt
файл, который ограничивает определенные URL и применяет Crawl-Delays к другим.
Затем несколько автоматических клиентов (например, сканеры, скребки) могут через прокси-сервер получить доступ к веб-сайту www.example.com без нарушения robots.txt
директивы И без необходимости доступа к самому файлу (=> более простые клиенты и меньше запросов для получения robots.txt
)
(В частности, я смотрю на версию спецификации "GYM2008" - http://nikitathespider.com/python/rerp/#gym2008 - потому что широко используется)
Я не уверен, зачем требовать соблюдения robots.txt
будет работой прокси: гусеничный трактор (робот) должен тянуть robots.txt
и следуйте инструкциям, содержащимся в этом файле, пока прокси возвращает правильный robots.txt
данные и сканер Делает правильные вещи с этими данными, и пока поисковый робот поддерживает использование прокси, вы получите все преимущества прокси без каких-либо дополнительных действий.
**
Тем не менее, я не знаю ни одного прокси, который бы делал то, о чем вы, кажется, просите (анализировал robots.txt с сайта и возвращал только то, что было бы разрешено этим файлом - предположительно для управления роботом-роботом, который не выполняет я уважаю robots.txt
?). Написание прокси, который обрабатывает это, потребует сопоставления / проверки user-agent-to-robots.txt для каждого запроса, который получает прокси, что, безусловно, возможно (вы можете сделать это в Squid, но вам нужно будет объединить скрипт для преобразования robots.txt в правила конфигурации squid и периодического обновления этих данных), но это, несомненно, снизит эффективность прокси.
Исправление поискового робота - лучшее решение (оно также позволяет избежать отправки "устаревших" данных поисковому роботу через прокси-сервер. Обратите внимание, что хорошо Сканер-бот будет проверять время обновления в заголовках HTTP и извлекать страницы только в том случае, если они изменились ...)