仅提取包含talkid的数据
时间: 2023-10-07 19:06:58 浏览: 48
要提取包含 `talkid` 的数据,您可以在代码中使用正则表达式进行匹配。以下是修改后的代码示例:
```python
import os
import re
from bs4 import BeautifulSoup
# 指定文件夹路径
folder_path = "C:/Users/test/Desktop/DIDItest"
# 正则表达式模式
pattern = r'\[talkid:(\d+)\]'
# 遍历文件夹中的所有文件
for root, dirs, files in os.walk(folder_path):
for file in files:
# 读取html文件
file_path = os.path.join(root, file)
with open(file_path, "r", encoding="utf-8") as f:
html_code = f.read()
# 解析html代码
soup = BeautifulSoup(html_code, "html.parser")
# 查找包含talkid的数据
talkid_data = soup.find_all(text=re.compile(pattern))
# 打印提取的数据
for data in talkid_data:
print(data)
```
这段代码使用了 `re` 模块来进行正则表达式匹配。`pattern` 变量定义了匹配 `[talkid:数字]` 格式的字符串的模式。然后,使用 `BeautifulSoup` 解析 HTML 代码,并使用 `find_all()` 方法和正则表达式模式找到所有包含 `talkid` 的数据。最后,打印提取的数据。
请确保您已经安装了 `re` 和 `BeautifulSoup` 库,可以使用以下命令来安装:
```
pip install beautifulsoup4
```