我正在尝试从具有确定类的按钮中抓取跨度。这是网站上页面的代码。
<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
选择p
内的任何span
。
还有其他的,但此示例只需要这些。
这些可以根据需要嵌套。例如,p.example span.foo
选择具有类foo
的任何p
中具有类的任何span
example
。
现在,一个元素可以有多个类,它们由空格分隔。<p class="foo bar">Hello, World!</p>
既有foo
又有bar
作为类。
我认为我可以安全地假设类sqdOP
是独一无二的。您可以使用上述方法轻松构建选择器:
button.sqdOP span
现在,问题select
,美丽汤将返回匹配元素的列表。如果这是唯一的,则可以安全地使用[0]
获取第一项。因此,选择该span
的最终代码:
soup.select('button.sqdOP span')[0]