首页 > 解决方案 > How to extract the text present in cookie pop up box using python?

问题描述

am using beautiful-soup to extract the information or text present in the website. How to extract the text or link present in cookie pop up because these are not present in source code

this is not present in iframe tag, if hidden then how to eaxtract

source code hidden popup information

currenturl = 'https://www.tresemme.com/cz/home.html'
r = requests.get(currenturl)
print(r.text)

标签: pythonselenium-chromedrivertext-extractionhttpcookie

解决方案


The cookie banner is triggered by JS, so BeautifulSoup won't see it. You could use selenium to get the text.

Here's how:

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))

Output (in my case it's in Czech):

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.

推荐阅读