【无标题】python如何爬取历史数据并保存到mysql

写一个Python的爬虫程序,可以爬取指定网页上的历史数据,并将数据存储到MySQL数据库中。

首先,需要安装以下Python库:

- requests:用于发送HTTP请求并获取响应。
- BeautifulSoup:用于解析HTML文档。
- mysql-connector-python:用于连接MySQL数据库并执行SQL语句。

安装方法:

```
pip install requests
pip install beautifulsoup4
pip install mysql-connector-python
```

接下来,是完整的Python代码:

```python
import requests
from bs4 import BeautifulSoup
import mysql.connector

# 爬取的网页地址
url = 'http://example.com/history'

# MySQL数据库连接信息
db_config = {
    'host': 'localhost',
    'user': 'root',
    'password': 'password',
    'database': 'database_name'
}

# 发送HTTP请求并获取响应
response = requests.get(url)

# 解析HTML文档
soup = BeautifulSoup(response.text, 'html.parser')

# 获取历史数据列表
history_list = soup.find_all('tr')

# 连接MySQL数据库
conn = mysql.connector.connect(**db_config)
cursor = conn.cursor()

# 遍历历史数据列表,将数据存储到MySQL数据库中
for history in history_list:
    # 解析每一行历史数据
    data = history.find_all('td')
    date = data[0].text.strip()
    value = data[1].text.strip()

    # 执行SQL语句,将数据插入到MySQL数据库中
    sql = "INSERT INTO history_data (date, value) VALUES (%s, %s)"
    values = (date, value)
    cursor.execute(sql, values)

# 提交事务并关闭数据库连接
conn.commit()
cursor.close()
conn.close()
```

运行程序后,程序会发送HTTP请求并获取响应,然后使用BeautifulSoup库解析HTML文档,获取历史数据列表。接着,程序会连接MySQL数据库,并遍历历史数据列表,将每一行数据插入到MySQL数据库中。最后,程序提交事务并关闭数据库连接。

在运行程序之前,需要先创建MySQL数据库和数据表。可以使用以下SQL语句创建数据表:

```sql
CREATE TABLE history_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    date VARCHAR(255),
    value VARCHAR(255)
);
```

你可能感兴趣的:(python,数据库,爬虫)