需要用RegEx和BeautifulSoup查找文本

2024-06-16 10:06:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图分析一个网站,以提取一些存储在正文中的数据,例如:

<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"))

但搜索结果是空的。


Tags: 数据nononeinformation网站groupbodydetails
1条回答
网友
1楼 · 发布于 2024-06-16 10:06:33

BeautifulSoup的find_all仅适用于标记。假设HTML如此简单,您实际上可以只使用纯regex来获得所需的内容。否则可以使用find_all,然后获取.text节点。

re.findall("Hookups: (.*)", open('doc.html').read())

您还可以使用BeautifulSoup 4.2的text属性按标记内容进行搜索

soup.find_all(text=re.compile("Hookups:(.*)Group"));

相关问题 更多 >