Не заходит requests по ссылкам, выдает 404
В общем я собрал ссылки в файл и хочу чтобы они перебирались в цикле,делаю все правильно, пример кода ниже:
def get_result_from_links(file_path):
with open(f'{file_path}','r') as file:
links = file.readlines()
for i, link in enumerate(links):
if not i%5==0:
r = requests.get(url=link, headers=headers)
r.encoding = 'cp1251'
print(link)
print(r.status_code)
print(r.text)
else:
print('Sleeping...')
time.sleep(3)`
сделал чтобы читал линии, так как в файле ссылки записаны с новой строки, вот часть файла с ссылками:
https://stroit-kompanii.ru/list/exciton_elektromonta/
https://stroit-kompanii.ru/list/rittal_torgovaya_fir/
https://stroit-kompanii.ru/list/magazin_energosbereg/
https://stroit-kompanii.ru/list/servisnaya_kompaniya/
https://stroit-kompanii.ru/list/transstroisnab_torgo/
они идут каждая на новой строки, тут почему-то слитно. И вот что я получаю на выводе:
Sleeping...
https://stroit-kompanii.ru/list/rittal_torgovaya_fir/
404
<h1>Страница не найдена</h1>
<p>страница к которой вы обратились не существует. <a href="/">вернуться на главную</a></p>
хотя, если открыть каждую ссылку отдельно в браузере то,все работает корректно, так же как и получить содержимое ссылки через другой файл, так же через requests, что делать?
И еще маленький вопрос на последок, я попытался сделать, чтобы скрипт "засыпал" на 3 сек после каждой 5-ой ссылки, но получается так, что первую ссылку он пропускает, как исправить?
Ответы (1 шт):
Автор решения: Сергей Ш
→ Ссылка
def get_result_from_links(file_path):
with open(f'{file_path}', 'r') as file:
links = file.readlines()
for i, link in enumerate(links, 1):
if i % 5 == 0:
print('Sleeping...')
time.sleep(3)
r = requests.get(link.strip())
r.encoding = 'cp1251'
print(link)
print(r.status_code)
print(r.text)