#python #selenium-chromedriver #text-extraction #httpcookie
#python #selenium-chromedriver #извлечение текста #httpcookie
Вопрос:
я использую beautiful-soup для извлечения информации или текста, присутствующего на веб-сайте. Как извлечь текст или ссылку, присутствующие во всплывающем окне cookie, потому что они отсутствуют в исходном коде
этого нет в теге iframe, если он скрыт, то как eaxtract
currenturl = 'https://www.tresemme.com/cz/home.html'
r = requests.get(currenturl)
print(r.text)
Ответ №1:
Баннер cookie запускается с помощью JS, поэтому BeautifulSoup его не увидит. Вы можете использовать selenium для получения текста.
Вот как:
import time
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.headless = True
driver = webdriver.Chrome(options=options)
driver.get("https://www.tresemme.com/cz/home.html")
time.sleep(2)
soup = BeautifulSoup(driver.page_source, "html.parser").find("p", {"id": "onetrust-policy-text"})
driver.close()
print(soup.getText(strip=True))
Вывод (в моем случае на чешском языке):
Používáme soubory cookies (a podobné techniky), abychom mohli zlepšovat Vaše zkušenosti s naším webem. Soubory cookies Vám umožňují využívat některé funkce (jako je např. ukládání online nákupního košíku), funkce sdílení na sociálních sítích (pro Facebook, Instagram atd.) a přizpůsobovat zprávy a zobrazovat reklamy dle Vašich zájmů (na našich stránkách a dalších). Také nám pomáhají pochopit, jak je náš web používán. Přečtěte si našeOznámení o používání souborů cookienebo změňte předvolby souborů cookiezde(můžete tak učinit kdykoli). Kliknutím na políčko „Souhlasím“ nám dáváte aktivní souhlas s používáním souborů cookies.