python 爬取页面json格式数据,插入数据库
时间: 2023-09-17 20:07:40 浏览: 95
好的,可以给你一个大致的思路:
1. 首先,你需要用 Python 的 requests 库向目标网站发送请求,获取对应的 JSON 数据。
2. 接着,你需要使用 Python 的 json 库将 JSON 数据转换成 Python 对象,方便后续处理。如果 JSON 数据比较大,你可以使用 ijson 库来逐行读取并解析 JSON 数据,可以节省内存空间。
3. 接下来,你需要连接到你的数据库,并且在其中创建一个表,用来存储你要插入的数据。你可以使用 Python 的 MySQLdb 或者 PyMySQL 等库来连接 MySQL 数据库。
4. 然后,你需要将 Python 对象中的数据逐行插入到数据库中对应的表中。你可以使用 SQL 语句来实现,比如 INSERT INTO 语句。
下面是一个简单的示例代码,可以帮助你理解上述的思路:
```python
import requests
import json
import pymysql
# 发送请求,获取 JSON 数据
url = "https://example.com/api/data"
response = requests.get(url)
data = json.loads(response.text)
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test')
cursor = conn.cursor()
# 创建表
sql_create_table = '''
CREATE TABLE IF NOT EXISTS `data` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) DEFAULT NULL,
`value` FLOAT DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
'''
cursor.execute(sql_create_table)
# 插入数据
for item in data:
name = item['name']
value = item['value']
sql_insert = f"INSERT INTO `data` (`name`, `value`) VALUES ('{name}', {value})"
cursor.execute(sql_insert)
# 提交事务并关闭连接
conn.commit()
cursor.close()
conn.close()
```
当然,这只是一个简单的示例代码,实际上在实际应用中,你还需要考虑一些异常处理、错误处理、数据清洗等问题。
阅读全文