Задача:
Напиши программу, которая проходит сайты по списку, скачивает файлы robots.txt и sitemap.xml и сохраняет на диск. В случае если файл не найден, выводится сообщение об этом.
Проблема:
Не могу понять как структурировать код для правильной работы, как пройти по списку сайтов из site_base.txt с двумя и более запросами (robot.txt и sitemap.xml) к каждому сайту из списка и вывести сообщение об ошибке в случае отрицательного ответа.
У
https://xakep.ru и
https://vc.ru есть оба необходимых запроса (robot.txt и sitemap.xml), habr не отдает ничего(для него необходим вывод сообщения об этом)
Формат в site_base.txt:
https://xakep.ru
https://habr.com
https://vc.ru
...
Наброски:
import requests
import shutil
import os
import urllib
with open('site_base.txt', 'r') as f:
for line in f:
line = line.strip() + '/robots.txt'
print(line)
dirname, filename = os.path.split(line)
try:
r = requests.get(line, stream=True)
except ConnectionError:
print('Error')
continue
if r.status_code == 200:
with open(urllib.parse.urlsplit(line).netloc + ".txt", 'wb') as j:
r.raw.decode_content = True
shutil.copyfileobj(r.raw, j)