【发布时间】:2021-06-20 13:14:57
【问题描述】:
所以我将 BeautfiulSoup4 与 Python 一起使用,并且我正在尝试获取一个带有“div 类”的元素。但是这个元素在许多 div 下,当我尝试将“find”与 BeautifulSoup 一起使用时,它只返回“None”。我想要获取的元素在屏幕截图中显示为“WhatIWant”类。这是网站html的截图: Screenshot
这是我用于获取该元素的代码
page = requests.get(URL)
soup = BeautifulSoup(page.content, "lxml")
element = soup.find_all("div", {"class": "WhatIWant"})
【问题讨论】:
-
您没有提供 url,所以我们无法测试,但是您是否检查过
soup确实有您要查找的 div,即如果站点使用 JavaSctipt,您将需要其他工具,例如 Selenium刮它 -
因为
div有一个类mainRankingDescriptionText。您可以直接选择它。element = soup.find_all("div", {"class": "mainRankingDescriptionText"}) -
@buran 我认为是这样。但是当我禁用 JavaScript 并重新加载页面时,一些图像消失了,但我正在寻找的文本仍然存在。那么这不是说明它不是因为 JavaScript 吗?
-
@Ram 我试过了,但它也返回“None”。
-
@bnighted 可能是网站使用 Javascript 加载。您可以按照@buran 的建议使用
selenium。可以分享一下网址吗?
标签: python html web-scraping beautifulsoup pycharm