2024-05-03 12:20:13 发布
网友
有没有办法只使用html中的data属性来查找元素,然后获取该值?
例如,使用html文档中的这一行:
<ul data-bin="Sdafdo39">
如何通过在整个html文档中搜索具有data-bin属性的元素来检索Sdafdo39?
data-bin
Sdafdo39
您可以使用find_all方法获取所有标记,并根据在其属性中找到的“data bin”进行筛选,从而获得实际的标记。然后我们可以简单地提取对应的值,如下所示
find_all
from bs4 import BeautifulSoup html_doc = """<ul data-bin="Sdafdo39">""" bs = BeautifulSoup(html_doc) print [item["data-bin"] for item in bs.find_all() if "data-bin" in item.attrs] # ['Sdafdo39']
更准确一点
[item['data-bin'] for item in bs.find_all('ul', attrs={'data-bin' : True})]
这样,迭代列表只包含ul元素,该元素具有要查找的attr
from bs4 import BeautifulSoup bs = BeautifulSoup(html_doc) html_doc = """<ul class="foo">foo</ul><ul data-bin="Sdafdo39">""" [item['data-bin'] for item in bs.find_all('ul', attrs={'data-bin' : True})]
您可以使用
find_all
方法获取所有标记,并根据在其属性中找到的“data bin”进行筛选,从而获得实际的标记。然后我们可以简单地提取对应的值,如下所示更准确一点
这样,迭代列表只包含ul元素,该元素具有要查找的attr
相关问题 更多 >
编程相关推荐