import os import re from bs4 import BeautifulSoup # 指定文件夹路径 folder_path = "C:/Users/test/Desktop/DIDItest" # 遍历文件夹中的所有文件 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") # 查找<body>标签内的数据 body_data = soup.find_all(text=re.compile('(中发言|发送)\s(.*?)\s')) # 处理每个文件的结果 for data in body_data: # 检查是否包含 "音频 :" 或 "图片 :" if "音频 :" in data or "图片 :" in data: data = "" print(data)爬取的数据逐行显示
时间: 2024-04-16 20:29:31 浏览: 64
import reimport requestsfrom bs4 import BeautifulSoupimport t
要逐行显示爬取的数据,你可以使用 `splitlines()` 方法将字符串按行拆分成列表,然后逐行打印。
以下是修改后的代码示例:
```python
import os
import re
from bs4 import BeautifulSoup
# 指定文件夹路径
folder_path = "C:/Users/test/Desktop/DIDItest"
# 遍历文件夹中的所有文件
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")
# 查找<body>标签内的数据
body_data = soup.find_all(text=re.compile('(中发言|发送)\s(.*?)\s'))
# 处理每个文件的结果
for data in body_data:
# 检查是否包含 "音频 :" 或 "图片 :"
if "音频 :" in data or "图片 :" in data:
data = ""
# 按行拆分字符串并逐行打印
lines = data.splitlines()
for line in lines:
print(line)
```
在上述代码中,我们使用 `splitlines()` 方法将字符串 `data` 按行拆分成列表 `lines`。然后,我们使用一个循环逐行打印 `lines` 中的每一行。
希望这对你有帮助!如果你还有其他问题,请随时提问。
阅读全文