Сканирование файла robots.txt и определение тегов, которые разрешено сканировать. ⇐ Python
-
Гость
Сканирование файла robots.txt и определение тегов, которые разрешено сканировать.
Я хочу отображать теги, разрешенные файлом robots.txt. например: www.google/search
Теперь указанный выше тег можно найти в файле robots.txt. Но некоторые веб-сайты запрещают все теги и имеют в конце один тег «Разрешить: /». например: www.chegg.com
Я хочу, чтобы код различал Allow: / и Allow: /search
импортировать urllib.request импорт ио импортировать валидаторы защита check_robots_txt (url): если url.startswith("https://"): URL = URL еще: URL = "https://" + URL проверка = validators.url(url) если проверка: если url.endswith("/"): путь = URL еще: путь = URL + "/" пытаться: req = urllib.request.urlopen(путь + «robots.txt») данные = io.TextIOWrapper(req,coding="utf-8") для оператора в data.read().splitlines(): если оператор.startswith("Разрешить"): #print(оператор) печать(url +оператор[7:]) линии = data.read().splitlines() **allow_found = Ложь для строки в строках: если line.strip().startswith("Разрешить"): if line.strip() == "Разрешить:": allow_found = Ложь перерыв elif line.strip() == "Разрешить: /": allow_found = Истина если разрешить_Найдено: print("Сканирование невозможно") еще: print("Сканирование...")** кроме urllib.error.HTTPError как e: print(f"Ошибка HTTP {e.code}: {e.reason}") кроме исключения как e: print(f"Произошла ошибка: {str(e)}") еще: print("URL недействителен") url = input("Введите URL: ") check_robots_txt (URL) Это код. Проверьте ту часть, которая отмечена звездочками.
Я хочу отображать теги, разрешенные файлом robots.txt. например: www.google/search
Теперь указанный выше тег можно найти в файле robots.txt. Но некоторые веб-сайты запрещают все теги и имеют в конце один тег «Разрешить: /». например: www.chegg.com
Я хочу, чтобы код различал Allow: / и Allow: /search
импортировать urllib.request импорт ио импортировать валидаторы защита check_robots_txt (url): если url.startswith("https://"): URL = URL еще: URL = "https://" + URL проверка = validators.url(url) если проверка: если url.endswith("/"): путь = URL еще: путь = URL + "/" пытаться: req = urllib.request.urlopen(путь + «robots.txt») данные = io.TextIOWrapper(req,coding="utf-8") для оператора в data.read().splitlines(): если оператор.startswith("Разрешить"): #print(оператор) печать(url +оператор[7:]) линии = data.read().splitlines() **allow_found = Ложь для строки в строках: если line.strip().startswith("Разрешить"): if line.strip() == "Разрешить:": allow_found = Ложь перерыв elif line.strip() == "Разрешить: /": allow_found = Истина если разрешить_Найдено: print("Сканирование невозможно") еще: print("Сканирование...")** кроме urllib.error.HTTPError как e: print(f"Ошибка HTTP {e.code}: {e.reason}") кроме исключения как e: print(f"Произошла ошибка: {str(e)}") еще: print("URL недействителен") url = input("Введите URL: ") check_robots_txt (URL) Это код. Проверьте ту часть, которая отмечена звездочками.
Мобильная версия