利用python爬取https://interface.sina.cn/news/wap/fymap2020_data.d.json的数据并放入数据库
时间: 2023-06-28 10:06:20 浏览: 164
python爬取的数据库文件。
5星 · 资源好评率100%
好的,首先我们需要用到 `requests` 和 `pymysql` 这两个库。请确保你已经安装了这些库。
首先,我们需要从给出的链接中获取 JSON 数据。可以使用以下代码:
```python
import requests
url = 'https://interface.sina.cn/news/wap/fymap2020_data.d.json'
response = requests.get(url)
if response.status_code == 200:
data = response.json()
print(data)
```
接下来,我们需要将数据存储到数据库中,可以使用以下代码实现:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='123456',
database='covid19',
charset='utf8mb4'
)
# 获取游标
cursor = conn.cursor()
# 创建数据表
create_table_sql = '''
CREATE TABLE IF NOT EXISTS covid19 (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
confirmed INT NOT NULL,
cured INT NOT NULL,
dead INT NOT NULL,
continent VARCHAR(20) NOT NULL,
countryType INT NOT NULL,
createTime BIGINT NOT NULL,
modifyTime BIGINT NOT NULL,
tags VARCHAR(50) NOT NULL
)
'''
cursor.execute(create_table_sql)
# 插入数据
insert_sql = '''
INSERT INTO covid19 (name, confirmed, cured, dead, continent, countryType, createTime, modifyTime, tags)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
'''
for item in data['data']['list']:
cursor.execute(insert_sql, (item['name'], item['confirmed'], item['cured'], item['dead'], item['continent'],
item['countryType'], item['createTime'], item['modifyTime'], item['tags']))
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
```
这样就完成了,代码中的 `covid19` 数据库需要提前创建好,同时也需要根据需要修改数据库连接信息。
阅读全文