美丽的汤找到多个类的元素?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (76)
<div data-list="1" data-href="/a/ajaxPhones?id=46420863" class="action-link 
showPhonesLink">Показать телефон</div>

如何在Beautiful Soup中找到上述元素?

我尝试了以下,但它不起作用:

show = soup.find('div', {'class': 'action-link showPhonesLink'})

我怎样才能得到那个元素?

提问于
用户回答回答于

使用选择器:

show = soup.select_one('div.action-link.showPhonesLink')

或者匹配确切的class属性:

show = soup.find('div', class_='action-link showPhonesLink')

# or (for older versions of BeautifulSoup)
show = soup.find('div', attr={'class': 'action-link showPhonesLink'})

请注意,使用第二种方法时,类的顺序以及空格很重要,因为它与class属性完全匹配。如果class属性发生任何变化(例如,类之间多一个空格),则不匹配

我会建议第一种方法。

用户回答回答于

我猜是show = soup.find()中的汤

source = requests.get(URL to get).text
soup = BeautifulSoup(source, 'lxml')

尝试:

show = soup.find('div', class_='action-link showPhonesLink').text

.text并不总是有效,但我发现如果没有它,结果并没有真正改变。

如果您能提供更多详细信息,我可以提供更多帮助。

所属标签

可能回答问题的人

  • 应用案例分享

    1 粉丝490 提问6 回答
  • o o

    4 粉丝495 提问5 回答
  • 找虫虫

    5 粉丝0 提问5 回答
  • uncle_light

    5 粉丝518 提问4 回答

扫码关注云+社区

领取腾讯云代金券