使用 Selenium 和 Beautiful Soup 进行网页抓取但不起作用

时间:2021-01-25 08:23:23

标签: python selenium beautifulsoup

我试图从网站获取评论的作者和内容,但我发现它的页面源和检查元素是不同的。我尝试使用 BeautifulSoup,但我无法从中得到任何回报。因此,我尝试使用 Selenium,但仍然无法获得任何东西。我检查了网站上的元素并使用 Selenium 输入了类名,但仍然无法抓取任何东西。这是我写的代码。

web = "https://www.regulations.gov/document?D=WHD-2020-0007-0609"

#Selenium
driver = webdriver.Chrome()
driver.get(web)
name = driver.find_elements_by_name("GIY1LSJBID")

#Beautifulsoup
page = requests.get(web)
soup = BeautifulSoup(page.text, 'html.parser')
quotes = soup.find_all('div')

我想知道我做错了什么,我该如何解决?

1 个答案:

答案 0 :(得分:2)

你自己已经给出了答案。您正在按类名搜索元素,但您使用了 find_elements_by_name。这不会搜索类名,而是搜索元素中的 name 属性。此外,find_elements 末尾带有“s”表示该函数返回元素列表而不是单个元素。

就您而言,您需要 find_element_by_class_name("GIY1LSJBID")