Python пустой html файл при парсинге
При запросе к сайту создается html файл, но заместо кода сайта такая вот шляпа. Где допустил ошибку?
Мой код пайтона:
import datetime
from unicodedata import name
import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
def collect_data(city_code='0221'):
cur_time = datetime.datetime.now().strftime('%d_%m_%y_%h_%m')
ua = UserAgent()
headers = {
'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
'User-Agent': ua.random
}
cookies = {
'mg_geo_id' : f'{city_code}'
}
response = requests.get(url='https://magnit.ru/promo/' , headers=headers, cookies=cookies)
with open(f'index.html' , 'w') as file:
file.write(response.text)
def main():
collect_data(city_code='0221')
if __name__ == '__main__':
main()
Информация в HTMLL файле:
Forbidden
Transaction ID: 26e16f51-57f6-41ae-83d9-94a258061060
Ответы (1 шт):
Автор решения: R A V
→ Ссылка
403 ошибку выдает при запросе. Может сайт понимает, что это бот и блокирует. Попробуйте Selenium driver для имитации работы пользователя.
Есть похожий ответ (Python 3.x. HTTP Error 403: Forbidden (даже с "User-agent"))