网页抓取按钮美丽汤蟒蛇



我正在尝试从具有确定类的按钮中抓取跨度。这是网站上页面的代码。

<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中具有类的任何spanexample

现在,一个元素可以有多个类,它们由空格分隔。<p class="foo bar">Hello, World!</p>既有foo又有bar作为类。

我认为我可以安全地假设类sqdOP是独一无二的。您可以使用上述方法轻松构建选择器:

button.sqdOP span

现在,问题select,美丽汤将返回匹配元素的列表。如果这是唯一的,则可以安全地使用[0]获取第一项。因此,选择该span的最终代码:

soup.select('button.sqdOP span')[0]