BeautifulSoup无法找到所需的div

时间:2017-02-07 19:05:05

标签: python html parsing web-scraping beautifulsoup

我一直试图找到嵌套的div及其内容,但我无法做到。我想用class:'box coursebox'访问div。 source code of required section of page

response = res.read()
soup = BeautifulSoup(response, "html.parser")    
div = soup.find_all('div', attrs={'class':'box coursebox'})

上面的代码给出了一个带0个元素的div,当应该有8个。 find_all在此行之前完成调用。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

如果属性具有多个值,Beautiful Soup会将所有值放入列表中。在您的代码中,您需要在进行查找时考虑到这一点。

也许是这样的?

div = soup.find_all('div', class_="box coursebox"})

有关多值属性的更多信息,请参阅Beautiful Soup文档的this section;有关按类查找元素的详细信息,请参阅this section

另外,不要将源代码发布为图像。

答案 1 :(得分:-1)

变化:

soup = BeautifulSoup(response, "html.parser")   

为:

soup = BeautifulSoup(response, "lxml")

html.parser不稳定,您可以将其更改为lxml