Как спарсить сайт с аттенншеном?
Я пытаюсь спрасить сайт, при переходе на который выходит оповещение, об использовании куки
Если открыть сохранненый html страницы, то через некторое время она прогрузится, но кодировка будет сломана. Я пытался получить html обычным запросом
url = 'https://reg.o-time.ru/start.php?event=22191'
req = requests.get(url=url, headers=headers)
with open('index.html', 'w', encoding='utf-8-sig') as file:
file.write(req.text)
Я пытался сохранить без энкодинга, так же с utf-8, и utf-8-sig, кодировка везде сломана. Если использовать сразу принт без сохранения в файл ситуация та же.
Так же я пытался использовать selenium, и открыть в вебдрайвере, но там страница не прогружается вообще, остается на этом аттеншене(на скриншоте как раз эта ситуация) и необходимо вручную нажать ок. Еще я пытался скачать куки и открыть страницу сразу с ними, но в этом случае, браузер просто закрывался, и выдавалась ошибка:
Message: unexpected alert open: {Alert text :
Текст тот же что и на скрине.
Код с использованием куки:
try:
# pickle.dump(driver.get_cookies(), open('true_cookies', 'wb'))
driver.get('https://reg.o-time.ru/start.php?event=22191')
time.sleep(5)
for cookie in pickle.load(open('true_cookies', 'rb')):
driver.add_cookie(cookie)
time.sleep(5)
driver.refresh()
time.sleep(10)
except Exception as ex:
print(ex)
finally:
driver.close()
driver.quit()
Ответы (1 шт):
BeautifulSoup на автомате кодировку подберет
res = requests.get('https://reg.o-time.ru/start.php?event=22191').content
soup = BeautifulSoup(res, 'html.parser')
print(soup)
