我正在尝试从 vivino.com 抓取 Wine 数据并使用 selenium 使其自动化并抓取尽可能多的数据。我的代码如下所示:
import time
from selenium import webdriver
browser = webdriver.Chrome('C:\Program Files (x86)\chromedriver.exe')
browser.get('https://www.vivino.com/explore?e=eJwFwbEOQDAUBdC_uaNoMN7NZhQLEXmqmiZaUk3x987xkVXRwLtAVcLLy7qE_tiN0Bz6FhcV7M4s0ZkkB86VUZIL9l4kmyjW4ORmbo0nTTPVDxlkGvg%3D&cart_item_source=nav-explore') # Vivino Website with 5 wines for now (simple example). Plan to scrape around 10,000 wines
lenOfPage = browser.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
match=False
while(match==False):
lastCount = lenOfPage
time.sleep(7)
lenOfPage = browser.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
if lastCount==lenOfPage:
match=True
Run Code Online (Sandbox Code Playgroud)
这将打开一个包含 5 种葡萄酒的网站并向下滚动。现在我想一一点击葡萄酒的超链接以获取有关其价格、酿酒葡萄种类等的信息。因此,基本上我的脚本将尝试向下滚动以允许在页面上显示尽可能多的葡萄酒,然后单击第一个超链接,获取附加信息并返回。然后,该过程将重复。我不认为这是一个有效的策略,但这就是我目前想到的。
我的问题是 vivino 网站中的超链接。href 链接附近没有文本,它允许我使用find_element_by_link_text函数:
<a class="anchor__anchor--2QZvA" href="/weingut-r-a-pfaffl-austrian-cherry-zweigelt/w/1261542?year=2018&price_id=23409078&cart_item_source=direct-explore" target="_blank">
Run Code Online (Sandbox Code Playgroud)
您能否建议如何单击超链接后没有文本的带有硒的葡萄酒?我在网络搜索期间没有找到正确的答案。提前致谢