Python:爬取中国各市的疫情数据并存储到数据库

import requests
import pymysql
import json def create(): # 连接数据库
db = pymysql.connect(host = 'localhost', user = 'root', password ='258000', database = 'yiqing',charset='utf8') # 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor() # 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS payiqing") # 使用预处理语句创建表
sql = """CREATE TABLE payiqing (
Id INT PRIMARY KEY AUTO_INCREMENT,
UpDateTime varCHAR(255),
Province varchar(255),
City varchar(255),
Confirm varchar(255),
Confirm_add varchar(255),
Heal varchar(255),
Dead varchar(255))"""
#upDateTime,provinse,city,confirm,confirm_add,heal,dead
cursor.execute(sql) #关闭数据库连接
db.close() def insert(value): # 连接数据库
db = pymysql.connect(host = 'localhost', user = 'root', password ='258000', database = 'yiqing',charset='utf8') # 使用 execute() 方法执行 SQL,如果表存在则删除
cursor = db.cursor() # 使用预处理语句插入数据
sql = "INSERT INTO payiqing(UpDateTime,Province,City,Confirm,Confirm_add,Heal,Dead) VALUES ( %s,%s,%s,%s,%s,%s,%s)"
#updateDateTime,provinse,city,confirm,confirm_add,heal,dead try:
cursor.execute(sql, value)
db.commit()
print('插入数据成功')
except:
db.rollback()
print("插入数据失败")
db.close() create() # 创建表 #目标网站
url = 'http://view.inews.qq.com/g2/getOnsInfo?name=disease_h5' #请求资源,获取相应内容
resp = requests.post(url) #打印网页内容 print(resp.text) # 将响应信息进行json格式化
#一个从文件加载,一个从内存加载#json.load(filename)#json.loads(string)
jsonData = json.loads(resp.text)
data_all = json.loads(jsonData["data"]) #保存全国历史数据
history = {} #print(data_all.keys())
i = data_all["chinaTotal"]
history = {"lastUpdateTime":data_all["lastUpdateTime"],"confirm":i["confirm"] ,"heal":i["heal"],"dead":i["dead"],"suspect":i["suspect"]}
#print(history) #用于存储当日详细数据的集合
details = []
upDateTime = data_all["lastUpdateTime"]#储存最近更新时间
data_province = data_all["areaTree"][0]["children"] #中国各省 #遍历存储
for pro in data_province:
provinse = pro["name"] #省名
for cit in pro["children"]:
city = cit["name"]
confirm = cit["total"]["confirm"]
confirm_add = cit["today"]["confirm"]
heal = cit["total"]["heal"]
dead = cit["total"]["dead"]
insert((upDateTime,provinse,city,confirm,confirm_add,heal,dead))#存入数据库
Python:爬取中国各市的疫情数据并存储到数据库的更多相关文章
- Python爬取中国天气网
Python爬取中国天气网 基于requests库制作的爬虫. 使用方法:打开终端输入 “python3 weather.py 北京(或你所在的城市)" 程序正常运行需要在同文件夹下加入一个 ...
- python 爬取天猫美的评论数据
笔者最近迷上了数据挖掘和机器学习,要做数据分析首先得有数据才行.对于我等平民来说,最廉价的获取数据的方法,应该是用爬虫在网络上爬取数据了.本文记录一下笔者爬取天猫某商品的全过程,淘宝上面的店铺也是类似 ...
- python爬取中国天气网站数据并对其进行数据可视化
网址:http://www.weather.com.cn/textFC/hb.shtml 解析:BeautifulSoup4 爬取所有城市的最低天气 对爬取的数据进行可视化处理 按温度对城市进行排 ...
- Python爬取6271家死亡公司数据,一眼看尽十年创业公司消亡史!
小五利用python将其中的死亡公司数据爬取下来,借此来观察最近十年创业公司消亡史. 获取数据 F12,Network查看异步请求XHR,翻页. 成功找到返回json格式数据的url, 很多人 ...
- Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 胡萝卜酱 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
- Python爬取上交所一年大盘数据
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 半个码农2018 PS:如有需要Python学习资料的小伙伴可以加点 ...
- Python爬取6271家死亡公司数据,看十年创业公司消亡史
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 朱小五 凹凸玩数据 PS:如有需要Python学习资料的小伙伴可以加 ...
- python爬取中国大学排名
教程来自:[Python网络爬虫与信息提取].MOOC. 北京理工大学 目标:爬取最好大学网前50名大学 代码如下: import requests from bs4 import Beautiful ...
- Python爬取某网站文档数据完整教程(附源码)
基本开发环境 (https://jq.qq.com/?_wv=1027&k=NofUEYzs) Python 3.6 Pycharm 相关模块的使用 (https://jq.qq.com/?_ ...
随机推荐
- js数组和对象的区别,ajax传入多个参数值,ajax传多个数组数据
数组分为索引数组和关联数组 js中先声明一个空数组 arr = [] 索引数组 索引是整数,如arr[0] = 'a' 关联数组 索引是自定义的字符串,如arr['a'] = 'a' js中的对象 你 ...
- [链表]LeetCode 25 K组一个翻转链表
LeetCode 25 k组一个翻转链表 TITLE 示例 1: 输入:head = [1,2,3,4,5], k = 2 输出:[2,1,4,3,5] 示例 2: 输入:head = [1,2,3, ...
- [Java编程思想] 第二章 一切都是对象
第二章 一切都是对象 2.1 用引用操纵对象 创建一个String引用: String s; 这里所创建的只是引用,并不是对象. 创建一个引用的同时便初始化: String s = &qu ...
- JAVA 线上问题排查方法
CPU 磁盘 内存 GC问题 网络 线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍. 同时例如jstack.jma ...
- Java案例——简单登录
public class UserLogin { public static void main(String[] args) { //1.定义两个字符串作为已知用户的姓名与密码 String Use ...
- JavaWeb 11_文件上传
一.操作步骤 1.要有一个form标签,method=post 请求2.form标签的encType属性值必须为multipart/form-data值3.在form标签中使用input type=f ...
- javaweb项目中关于配置文件web.xml的解析
一..启动tomcat,加载项目中的web.xml文件,创建servercontext上下文对象. 可以通过servercontext对象在应用中获取web.xml文件中的值. web应用加载的顺序与 ...
- 前端好用API之Fullscreen
前情 在前端开发需求中,特别网页有视频需求时,需要做视频全屏功能,或者在某些可视化大屏项目也要做全屏. Fullscreen介绍 让你可以简单地控制浏览器,使得一个元素与其子元素,如果存在的话,可以占 ...
- Apache HTTPD 未知后缀解析漏洞
环境搭建 https://blog.csdn.net/qq_36374896/article/details/84102101 该环境版本: PHP 7.x 最新版 Apache HTTPD 2.4. ...
- spring学习四:springMVC
ref:http://www.cnblogs.com/ysocean/tag/SpringMVC%E5%85%A5%E9%97%A8%E7%B3%BB%E5%88%97/ Spring MVC的处理流 ...