需要使用RegEx和BeautifulSoup查找文本
问题内容:
我正在尝试解析一个网站,以提取一些存储在主体中的数据,例如:
<body>
<b>INFORMATION</b>
Hookups: None
Group Sites: No
Station: No
<b>Details</b>
Ramp: Yes
</body>
我想使用BeautifulSoup4和RegEx提取连接和组站点等的值,但是bs4和RegEx都是新手。我已经尝试了以下方法来获取联播网值:
soup = BeautifulSoup(open('doc.html'))
hookups = soup.find_all(re.compile("Hookups:(.*)Group"))
但是搜索返回为空。
问题答案:
BeautifulSoupfind_all
只能与 标签一起使用
。假设HTML如此简单,您实际上可以仅使用纯正则表达式来获取所需的内容。否则,您可以使用find_all
然后获取.text
节点。
re.findall("Hookups: (.*)", open('doc.html').read())
您也可以使用从text
BeautifulSoup 4.2开始的属性按标签内容搜索
soup.find_all(text=re.compile("Hookups:(.*)Group"));