使用BeautifulSoup从一行中提取某些值

2024-04-24 10:33:58 发布

您现在位置:Python中文网/ 问答频道 /正文

在学校的课程中,我们学习高级python,首先了解网络抓取和类似的东西。。。。我要做一个练习,从下面的HTML行中提取v1,v2的值。。。我试着查找,但找不到任何真正具体的东西。。。。如果它是不适合的,那么只需删除它

HTML部分

{"v1":"first","ex":"first_soup","foo":"0","doo":"0","v1":["second"]}

因此,之后当我想显示值时,它应该是这样的

print(v1)
first
print(v2)
second

我尝试通过如下方式切片整条线来获取值:

v1=htmltext[7,12]
v2=htmltext[60,66]

但在这种情况下,我不使用bs4模块,建议使用。。。如果有人能教我


Tags: 网络foohtml方式学校ex课程v2
1条回答
网友
1楼 · 发布于 2024-04-24 10:33:58

您看到的不是HTML文件,而是JSON。在这种情况下,使用BeautifulSoup的HTML解析器毫无意义,您可能需要使用标准的JSON library来实现这一点,如下所示:

import json
json_Dict=json.loads(str(soup))

然后,您可以使用标题(或键)对其进行索引

json_Dict["v1"]
>>>"first"

相关问题 更多 >