【发布时间】:2020-05-16 12:33:46
【问题描述】:
我在SO上搜索了很多,但大多数答案都无法解决我的问题:
-
我要抓取的内容:
- 我有一个link。该链接将重定向到动态网站。
- 我想获取此链接上的视频数量和图像数量。
- 我想使用 bs4、Selenium 和 Python 来实现。
-
我面临什么问题:
- 当我检查“检查元素”并执行简单的 Ctrl+F 来查找视频标签时。我可以看到适量的视频。但是,当我打开同一页面的“查看源代码”时,我只能看到 1 个视频标签。
此外,当我尝试抓取时,我只能检索 1 个视频。我不知道为什么 bs4 没有检测到其他视频标签。我假设这与加载 Javascript 的页面有关。但是,即使我使用下面的代码和 Selenium,我仍然无法获得正确数量的视频和图像
这是我尝试过的代码:
driver = webdriver.Chrome()
driver.get("https://www.kickstarter.com/projects/evolutionwear/fast-solar-charging-that-fits-in-your-pocket/?ref=kicktraq")
res = driver.execute_script('return document.documentElement.outerHTML')
soup = BeautifulSoup(res, 'html.parser')
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
c=1
for vidL in soup.find_all("div", {'class': 'play_button_container absolute-center has_played_hide'}):
print(vidL)
print(c)
c+=1
【问题讨论】:
-
您要查找的类“play_button_container...”在标签中,而不是抱歉,复制粘贴代码时打错了。我已经改变了它。它不适用于 div。你可以尝试用这个
res = driver.page_source替换第三行吗?
标签: python selenium xpath beautifulsoup css-selectors