【发布时间】:2017-09-27 16:06:55
【问题描述】:
我是 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'
我做错了什么?提前致谢!
【问题讨论】:
-
尝试使用
x.lower()而不是x.lower。 -
完全使用
JSON解析器! -
感谢您的宝贵时间!
标签: python regex web-scraping beautifulsoup pattern-matching