Web scraping Button BeautifulSoup Python

问题描述 投票:-2回答:1

我试图从一个有确定类的按钮中进行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    '}):
python class button web-scraping beautifulsoup
1个回答
0
投票

对于复杂的选择,最好是使用 选择器. 这些工作与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> 既有 foobar 为类。

我想我可以放心地认为这个类 sqdOP 是唯一的。你可以用上面的方法很容易地建立选择器。

button.sqdOP span

现在,发出 select,BeautifulSoup将返回一个匹配元素的列表。如果只有这一个,你可以放心地使用 [0] 来获得第一个项目。所以,最后的代码是选择那个 span:

soup.select('button.sqdOP span')[0]
© www.soinside.com 2019 - 2024. All rights reserved.