Python BeautifulSoup findAll by “class” attribute

≡放荡痞女 提交于 2019-12-28 20:32:54

问题


I want to do the following code, which is what BS documentation says to do, the only problem is that the word "class" isn't just a word. It can be found inside HTML, but it's also a python keyword which causes this code to throw an error.

So how do I do the following?

soup.findAll('ul', class="score")

回答1:


Your problem seems to be that you expect find_all in the soup to find an exact match for your string. In fact:

When you search for a tag that matches a certain CSS class, you’re matching against any of its CSS classes:

You can properly search for a class tag as @alKid said. You can also search with the class_ keyword arg.

soup.find_all('ul', class_="score")



回答2:


Here is how to do it:

soup.find_all('ul', {'class':"score"})


来源:https://stackoverflow.com/questions/19969056/python-beautifulsoup-findall-by-class-attribute

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!