我试图从一个有确定类的按钮中进行webscrape span。这是网站上页面的代码。
<button class="sqdOP yWX7d _8A5w5 " type="button">altri <span>17</span></button>
我想找到 "17",显然每次都会改变。谢谢.我已经用这个试过了,但它不工作
for item in soup.find_all('button', {'class': 'sqdOP yWX7d _8A5w5 '}):
对于复杂的选择,最好是使用 选择器. 这些工作与CSS非常相似。
p
选择一个类型为 p
.
p.example
选择一个类型为 p
和类 example
.
p span
选择任何 span
里面 p
.
还有其他的,但本例只需要这些。
这些可以根据你的需要进行嵌套。例如: p.example span.foo
选择任何 span
同级 foo
在任何 p
同级 example
.
现在,一个元素可以有多个类,而且它们之间用空格隔开。<p class="foo bar">Hello, World!</p>
既有 foo
和 bar
为类。
我想我可以放心地认为这个类 sqdOP
是唯一的。你可以用上面的方法很容易地建立选择器。
button.sqdOP span
现在,发出 select
,BeautifulSoup将返回一个匹配元素的列表。如果只有这一个,你可以放心地使用 [0]
来获得第一个项目。所以,最后的代码是选择那个 span
:
soup.select('button.sqdOP span')[0]