【问题标题】:Is there any function to extract (get) a value of an attribute using bs4有没有使用 bs4 提取(获取)属性值的函数
【发布时间】:2020-03-09 18:37:43
【问题描述】:

我需要提取属性值。我在网上冲浪,找不到任何解决方案。我发现的唯一方法是使用 CSS 选择器('select-one')。但问题是我需要从属性中获取所有值。就是这样:

        <span data-name="BLABLABLA" data-id="40423" data-volume="18.643.727" class="alertBellGrayPlus js-plus-icon genToolTip    oneliner" data-tooltip="BLABLABLA"></span>

我需要获取 data-id 值(它是 40423)。但也有3个跨度。我如何获得所有值,如果它们有这些(span 和 data-id)共同点。 我试过这样的事情:

 DataNames = soup.findAll('span',attrs = {'data-id':True} )
 for value in DataNames:
    data_names.append(value.span['data-id'])

【问题讨论】:

  • 请在您的示例中再给我们 3 个跨度。你只给我们一个。另外,请告诉我们您的预期结果。
  • @âńōŋŷXmoůŜ 它们是相同的,但具有不同的值,例如 data-id = '40444" 等等。我希望它会打印出这些值。40424...和其他
  • 这个问题没有很好的例子和预期的结果。我会传递这个。祝你好运。

标签: python beautifulsoup attr


【解决方案1】:

试试这个:

 DataNames = soup.findAll('span',attrs = {'data-id':True} )
 for element in DataNames:
     data_names.append(element['data-id'])

我没有测试它,如果你发布你想要从中获取的链接,我想我可以帮助你更多

【讨论】:

  • 能不能写的更清楚一点。因为您只是“复制粘贴”了其他问题的代码
  • 是的,我知道这是完全错误的,我在未登录时正在写,当我登录时它又回到了第一件事
猜你喜欢
  • 2017-11-16
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 2017-12-05
  • 2023-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多