问题
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