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/?_ ...
随机推荐
- 使用 yapi-to-typescript 生成接口响应数据的 TS 类型声明
TS 是越写越爽,但是很不爽的是接口响应数据一堆,每次要去手写很麻烦. 最近正好后端接口文档从一个垃圾工具切换到了 Yapi,然后去搜了下可以通过接口文档自动生成 TS 类型声明,就自己搞了下,还是很 ...
- Java使用Geotools读取shape矢量数据
作为GIS开发者而言,矢量数据是我们经常要用到的,而shape数据是矢量数据中最常用的格式,因此解析shape数据也是作为GIS软件开发人员必备的基础技能,而GeoTools无疑是Java最好用来处理 ...
- php 数组相关的函数?
array()----创建数组array_combine()----通过合并两个数组来创建一个新数组range()----创建并返回一个包含指定范围的元素的数组compact()----建立一个数组a ...
- 【图文并茂】 做开发这么久了,还不会搭建服务器Maven私有仓库?这也太Low了吧
大家好,我是冰河~~ 最近不少小伙伴想在自己公司的内网搭建一套Maven私服环境,可自己搭建的过程中,或多过少的总会出现一些问题,问我可不可以出一篇如何搭建Maven私服的文章.这不,就有了这篇文章嘛 ...
- Java入土---Java运行机制及IDEA的安装使用
Java运行机制及IDEA的安装使用 java程序运行机制 计算机高级语言分为编译型语言跟解释型语言,而java同时具有两者的特点. 可能对于新手来说,什么是编译,什么是解释; 简单来说,编译就是将代 ...
- Flink消费kafka
Flink消费Kafka https://blog.csdn.net/boling_cavalry/article/details/85549434 https://www.cnblogs.com/s ...
- instanceOf与父子类型转换
instanceOf 只要有父子类关系,sout(A instanceOf B)结果就位ture,反之false 先前定义 class Person ; method calss Father ; m ...
- C++设计模式 - 组合模式(Composite)
数据结构模式 常常有一-些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用.这时候,将这些特定数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无 ...
- rest-framework之视图和源码解析
视图和源码解析 通过使用mixin类编写视图: from rest_framework import mixins from rest_framework import generics class ...
- 5月4日 python学习总结 socketserver
一.socketserver SocketServer简化了网络服务器的编写. 它有4个类:TCPServer,UDPServer,UnixStreamServer,UnixDatagramServe ...