【问题标题】:Get content from certain tags with certain attributes using BS4使用 BS4 从具有特定属性的特定标签中获取内容
【发布时间】:2020-10-25 11:31:50
【问题描述】:

我需要从具有这些属性的以下标记中获取内容:<span class="h6 m-0">。 我将遇到的 HTML 示例是 <span class="h6 m-0">Hello world</span>,它显然需要返回 Hello world

我目前的代码如下:

page = BeautifulSoup(text, 'html.parser')
names = [item["class"] for item in page.find_all('span')]

这很好用,可以让我获得页面中的所有跨度,但我不知道如何指定我只想要具有特定类 "h6 m-0" 的那些并获取里面的内容。我将如何去做?

【问题讨论】:

  • print([span.text for span in page.select('span.h6.m-0')]) ?

标签: python html css web-scraping beautifulsoup


【解决方案1】:
page = BeautifulSoup(text, 'html.parser')
names = page.find_all('span' , class_ = 'h6 m-0')

在不了解您的用例的情况下,我不知道这是否可行。

【讨论】:

  • 这很好用,实际上,让我得到了我正在寻找的所有跨度,但是我不能只得到标签内的文本。我可以使用正则表达式来提取它,但我觉得使用他们的方法会更好。你会用什么来专门获取里面的文字?
  • 老实说,我自己有点初学者,我只会玩弦乐。当然有更好的方法。
【解决方案2】:
names = [item["class"] for item in page.find_all('span',class_="h6 m-0" )]

能否请您更具体地说明您面临的问题

但这对你应该没问题

【讨论】:

  • 这个答案与@bill 发布的答案有何不同?
  • 其实我只是在回答时比尔也发布了答案
猜你喜欢
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多