gpt4 book ai didi

python - 将 'bs4.element.NavigableString' 转换为 json

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:49 24 4
gpt4 key购买 nike

我需要将 bs4.element.NavigableString (来自 beautiful soup: http://www.crummy.com/software/BeautifulSoup/bs4/doc/#navigablestring )转换为 json 字符串。

我正在使用 beautiful soup 来抓取,并且我返回的看起来像一个 json 对象,如下所示(没有漂亮的格式):

my_object = {"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}

我尝试使用普通的 json 方法搜索 my_object ,但它不起作用,并且尝试使用 beautiful soup 的方法搜索它。我还搜索了如何将 bs4.element.NavigableString 转换为 json。

感谢您的帮助!

最佳答案

嗯,该字符串不是有效的 JSON。 其中一部分是有效的 JSON。

特别是,它是一行 JavaScript 代码,它将恰好以有效 JSON 形式写入的 JavaScript 文字分配给 my_object 变量。

如果要解析 JSON,则必须将其与语句的其余部分分开。例如:

s = '''my_object = {"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}'''
jsvar, _, jsvalue = s.partition('=')
value = json.loads(jsvalue)

关于python - 将 'bs4.element.NavigableString' 转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25023346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com