首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >巨蟒。BeautifulSoup。从没有属性的标记(DIV)中获取数据

巨蟒。BeautifulSoup。从没有属性的标记(DIV)中获取数据
EN

Stack Overflow用户
提问于 2020-04-04 08:38:49
回答 2查看 54关注 0票数 0

示例

代码语言:javascript
运行
复制
html-code
html-code
<div data-content="N(EX%hY-G47*@A8Ru%%c7@tG4mN3k/mebP631Y0B1A08s!Xn_sd#xGzJtF;^*03znN;-r6X8cu2;*+E%6l"></div>
html-code
html-code

如何使用BeautifulSoup查找这个DIV并获取引号之间包含的数据?data-content="?????

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-04 08:47:44

易于使用的soup.findAll("div", attrs={"data-content":True})

如下所示:

代码语言:javascript
运行
复制
from bs4 import BeautifulSoup

html = """
<div data-content="N(EX%hY-G47*@A8Ru%%c7@tG4mN3k/mebP631Y0B1A08s!Xn_sd#xGzJtF;^*03znN;-r6X8cu2;*+E%6l" href="www.test1.com" </div>
<div data-content="2" href="www.test1.com" </div>
<div data-content="3" href="www.test2.com" </div>
<div data-content="4" href="www.test2.com" </div>
<div data-content="5" href="www.test3.com" </div>
<div data-content="6" href="www.test3.com" </div>
"""


soup = BeautifulSoup(html, 'html.parser')


goal = [url.get("data-content")
        for url in soup.findAll("div", {'data-content': True})]

print(goal)

输出:

代码语言:javascript
运行
复制
['N(EX%hY-G47*@A8Ru%%c7@tG4mN3k/mebP631Y0B1A08s!Xn_sd#xGzJtF;^*03znN;-r6X8cu2;*+E%6l', '2', '3', '4', '5', '6']
票数 1
EN

Stack Overflow用户

发布于 2020-04-04 09:02:18

使用css选择器非常容易,如下所示:

代码语言:javascript
运行
复制
from bs4 import BeautifulSoup

html = '<div data-content="N(EX%hY-G47*@A8Ru%%c7@tG4mN3k/mebP631Y0B1A08s!Xn_sd#xGzJtF;^*03znN;-r6X8cu2;*+E%6l"></div>'

soup = BeautifulSoup(html, 'lxml')

soup.select_one('div[data-content]')["data-content"]

输出

代码语言:javascript
运行
复制
'N(EX%hY-G47*@A8Ru%%c7@tG4mN3k/mebP631Y0B1A08s!Xn_sd#xGzJtF;^*03znN;-r6X8cu2;*+E%6l'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61025637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档