gpt4 book ai didi

python - 如何搜索匹配的字符串,然后提取其后面的字符串和冒号

转载 作者:行者123 更新时间:2023-12-01 03:02:22 25 4
gpt4 key购买 nike

我是 Python 和网络抓取的新手,所以如果问题太基础,我深表歉意!

我想从以下示例 BeautifulSoup 对象中提取“分数”和“评分”(评级)

import bs4
import re
text = '<html><body>{"count":1,"results":[{"score":"2-1","MatchId":{"number":"889349"},"name":"Match","rating":{"rate":9.0}}],"performance":{"comment":{}}}</body></html>'
page = bs4.BeautifulSoup(text, "lxml")
print type(page)

我已经尝试过这些,但没有任何结果(只是空白[])

tmp = page.find_all(text=re.compile("score:(.*)"));
print(tmp)

tmp = page.findAll("score");
print(tmp)

我找到了这个similar question但它给了我错误

tmp = page.findAll(text = lambda(x): x.lower.index('score') != -1)
print(tmp)

AttributeError: 'builtin_function_or_method' object has no attribute 'index'

我做错了什么?提前致谢!

最佳答案

这已经是 turducken 的三分之二了。协议(protocol)。您可以使用 beautifulsoup 查找正文并使用 json 对其进行解码。然后你有一些 python 字典和列表需要通过。

>>> import json
>>> import bs4
>>> import re
>>> text = '<html><body>{"count":1,"results":[{"score":"2-1","MatchId":{"number":"889349"},"name":"Match","rating":{"rate":9.0}}],"performance":{"comment":{}}}</body></html>'
>>> page = bs4.BeautifulSoup(text, "lxml")
>>>
>>> data = json.loads(page.find('body').text)
>>> for result in data["results"]:
... print(result["score"], result["rating"]["rate"])
...
2-1 9.0
>>>

关于python - 如何搜索匹配的字符串,然后提取其后面的字符串和冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43698825/

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