我正在尝试解析网站以提取存储在正文中的一些数据,例如:
<body>
<b>INFORMATION</b>
Hookups: None
Group Sites: No
Station: No
<b>Details</b>
Ramp: Yes
</body>
我想使用BeautifulSoup4和RegEx来提取Hookups和Group Sites等的值,但我是bs4和RegEx的新手。我已尝试以下方法来获取Hookups值:
soup = BeautifulSoup(open('doc.html'))
hookups = soup.find_all(re.compile("Hookups:(.*)Group"))
但搜索结果是空的。
答案 0 :(得分:20)
BeautifulSoup的find_all
仅适用于标记。假设HTML很简单,你实际上可以只使用一个纯正则表达式来获得你需要的东西。否则,您可以使用find_all
然后获取.text
个节点。
re.findall("Hookups: (.*)", open('doc.html').read())
从BeautifulSoup 4.2
开始,您还可以使用text
属性搜索标记内容
soup.find_all(text=re.compile("Hookups:(.*)Group"));