Проблемы с requests и url в кириллице
import requests
def check_and_save_bad_urls(input_file, output_file):
with open(input_file, 'r', encoding='utf-8') as file:
urls = file.read().splitlines()
with open(output_file, 'w', encoding='utf-8') as error_file:
for url in urls:
try:
response = requests.head(url)
if (response.status_code == 404) or (response.status_code == 301):
print(f"URL {url} вернул ошибку. Записываем в файл bad_url.txt.")
error_file.write(url + '\n')
except requests.RequestException as e:
print(f"Ошибка при запросе URL {url}: {e}")
Замените 'url.txt' на имя вашего файла с URL-ами
check_and_save_bad_urls('C:\\Python\\ping_url_yd\\url.txt', 'C:\\Python\\ping_url_yd\\bad_url.txt')
Есть код который берет url из файла url.txt проверяет их на ответ сервера и если ответ с ошибкой 404 или 301 то записывает их в файл.
Если в файл url.txt поместить url вида сайт.рф, то скрипт такое ощущение, что его просто пропускает.
Ответы (1 шт):
Автор решения: Ильназ Рекламов
→ Ссылка
всем спасибо вроде заработало
в файле url.txt
https://ya.ru/?utm_campaign={campaign_id}&utm_content={ad_id}&utm_medium=cpc&utm_source=yandex&utm_term={keyword}
https://ya.ru/no_url?utm_campaign={campaign_id}&utm_content={ad_id}&utm_medium=cpc&utm_source=yandex&utm_term={keyword}
https://окна.рф/?utm_source=yandex&utm_medium=cpc&utm_campaign={campaign_id}&utm_content={ad_id}&utm_term={keyword}
https://окна.рф/пустая_страница?utm_source=yandex&utm_medium=cpc&utm_campaign={campaign_id}&utm_content={ad_id}&utm_term={keyword}
после работы скрипта в файле bad_url.txt
https://ya.ru/no_url?utm_campaign={campaign_id}&utm_content={ad_id}&utm_medium=cpc&utm_source=yandex&utm_term={keyword}
https://окна.рф/пустая_страница?utm_source=yandex&utm_medium=cpc&utm_campaign={campaign_id}&utm_content={ad_id}&utm_term={keyword}
вроде все норм