爬取本地H:\DIDI文件夹内多个文件夹下html中ID号,时间、发送号码、接受号码,信息类型、文件类型、发送内容数据并写入mysql数据库
时间: 2023-12-23 15:02:45 浏览: 124
您可以使用Python中的os和BeautifulSoup库来解析HTML文件,并使用MySQL Connector库将数据写入MySQL数据库。
首先,您需要安装以下库:
- BeautifulSoup:用于解析HTML文件
- MySQL Connector:用于连接和操作MySQL数据库
安装方法:
```
pip install beautifulsoup4
pip install mysql-connector-python
```
然后,您可以使用以下代码来实现您的需求:
```python
import os
from bs4 import BeautifulSoup
import mysql.connector
# 连接MySQL数据库
conn = mysql.connector.connect(
host='localhost',
user='your_username',
password='your_password',
database='your_database'
)
cursor = conn.cursor()
# 遍历文件夹及子文件夹中的HTML文件
folder_path = r'H:\DIDI'
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.html'):
file_path = os.path.join(root, file)
# 打开HTML文件并解析
with open(file_path, 'r') as f:
html_content = f.read()
soup = BeautifulSoup(html_content, 'html.parser')
# 提取信息并写入数据库
id = soup.find('id').text
time = soup.find('time').text
sender_number = soup.find('sender_number').text
receiver_number = soup.find('receiver_number').text
message_type = soup.find('message_type').text
file_type = soup.find('file_type').text
message_content = soup.find('message_content').text
# 将数据插入数据库表中
query = "INSERT INTO your_table (id, time, sender_number, receiver_number, message_type, file_type, message_content) VALUES (%s, %s, %s, %s, %s, %s, %s)"
values = (id, time, sender_number, receiver_number, message_type, file_type, message_content)
cursor.execute(query, values)
conn.commit()
# 关闭数据库连接
cursor.close()
conn.close()
```
请注意,您需要根据您的实际情况修改以下变量:
- host:MySQL数据库的主机地址
- user:MySQL数据库的用户名
- password:MySQL数据库的密码
- database:要连接的数据库名称
- your_table:要插入数据的表名
此外,您还需要根据HTML文件的结构修改以下代码段以匹配正确的标签:
```python
id = soup.find('id').text
time = soup.find('time').text
sender_number = soup.find('sender_number').text
receiver_number = soup.find('receiver_number').text
message_type = soup.find('message_type').text
file_type = soup.find('file_type').text
message_content = soup.find('message_content').text
```
这是一个基本的框架,您可以根据自己的需求进行修改和扩展。
阅读全文