Задача. Скачать файлы с сайтов которые находятся в файле txt
Задача: Напиши программу, которая проходит сайты по списку, скачивает файлы robots.txt и sitemap.xml и сохраняет на диск. В случае если файл не найден, выводится сообщение об этом.
Проблема: Не могу разобраться как правильно считывать robots.txt вместе с sitemap.xml и как вывести сообщение о том что файл не найден. В файле site_base.txt сайты сохранены в формате:
https://xakep.ru
https://habr.ru
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)
r = requests.get(line, stream=True)
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)
# elif r.status_code != 200:
# print('На сайте' + line + 'файл robots.txt не найден!')
Ответы (1 шт):
Автор решения: Сергей Шашко
→ Ссылка
from requests.exceptions import ConnectionError
...
...
for line in f:
line = line + '/robots.txt'
print(line)
dirname, filename = os.path.split(line)
try:
r = requests.get(line, stream=True)
except ConnectionError:
print('Error')
continue
...