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:爬取中国各市的疫情数据并存储到数据库的更多相关文章

  1. Python爬取中国天气网

    Python爬取中国天气网 基于requests库制作的爬虫. 使用方法:打开终端输入 “python3 weather.py 北京(或你所在的城市)" 程序正常运行需要在同文件夹下加入一个 ...

  2. python 爬取天猫美的评论数据

    笔者最近迷上了数据挖掘和机器学习,要做数据分析首先得有数据才行.对于我等平民来说,最廉价的获取数据的方法,应该是用爬虫在网络上爬取数据了.本文记录一下笔者爬取天猫某商品的全过程,淘宝上面的店铺也是类似 ...

  3. python爬取中国天气网站数据并对其进行数据可视化

    网址:http://www.weather.com.cn/textFC/hb.shtml 解析:BeautifulSoup4 爬取所有城市的最低天气   对爬取的数据进行可视化处理 按温度对城市进行排 ...

  4. Python爬取6271家死亡公司数据,一眼看尽十年创业公司消亡史!

    ​ 小五利用python将其中的死亡公司数据爬取下来,借此来观察最近十年创业公司消亡史. 获取数据 F12,Network查看异步请求XHR,翻页. ​ 成功找到返回json格式数据的url, 很多人 ...

  5. Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 胡萝卜酱 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  6. Python爬取上交所一年大盘数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 半个码农2018 PS:如有需要Python学习资料的小伙伴可以加点 ...

  7. Python爬取6271家死亡公司数据,看十年创业公司消亡史

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 朱小五 凹凸玩数据 PS:如有需要Python学习资料的小伙伴可以加 ...

  8. python爬取中国大学排名

    教程来自:[Python网络爬虫与信息提取].MOOC. 北京理工大学 目标:爬取最好大学网前50名大学 代码如下: import requests from bs4 import Beautiful ...

  9. Python爬取某网站文档数据完整教程(附源码)

    基本开发环境 (https://jq.qq.com/?_wv=1027&k=NofUEYzs) Python 3.6 Pycharm 相关模块的使用 (https://jq.qq.com/?_ ...

随机推荐

  1. Win10系统使用Gitblit搭建局域网Git服务器

    一.安装配置jdk 1.下载 下载地址:https://www.oracle.com/java/technologies/javase-jdk14-downloads.html 2.安装jdk 3.配 ...

  2. [csi]浅聊ceph-csi组件

    描述   ceph-csi扩展各种存储类型的卷的管理能力,实现第三方存储ceph的各种操作能力与k8s存储系统的结合.调用第三方存储ceph的接口或命令,从而提供ceph数据卷的创建/删除.挂载/解除 ...

  3. go RWMutex 的实现

    Overview go 里面的 rwlock 是 write preferred 的,可以避免写锁饥饿. 读锁和写锁按照先来后到的规则持有锁,一旦有协程持有了写锁,后面的协程只能在写锁被释放后才能得到 ...

  4. 表格的td行利用css显示...

      默认超过指定长度以...显示, 鼠标放到文本上显示全 代码如下 .fh{ max-width:220px; word-wrap:break-word; text-overflow:ellipsis ...

  5. Sequelize关联查询,where影响全局的解决

    需求背景 系统字段关联公司字段表,通过查询所有的系统字段然后关联查询指定的公司对应的字段. 问题代码 const sysField = ctx.model.SysDictionary; const c ...

  6. 说说如何安装 Openfire

    Openfire 是一个基于 XMPP 协议的 IM 服务框架.这里我们来说一说如何安装它. 1 下载 zip 安装包 首先下载 Openfire 安装包,下载路径为:http://www.ignit ...

  7. mysql 聚集索引和非聚集索引

    聚集索引:聚集索引表示表中存储的数据按照索引的顺序存储,检索效率比非聚集索引高,但对数据更新影响较大: 非聚集索引:非聚集索引表示数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位 ...

  8. Net中事件的用法之二

    1.委托与事件的区别 事件对权限做了控制 1.委托可以直接调用 事件不可以直接调用 2.委托允许外面直接赋值 事件不允许外面直接赋值 2.事件与委托的实例比较 using System; using ...

  9. 报错 ——Error evaluating expression 'id != null id > 0'.

    Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error qu ...

  10. JDBC快速入门(附Java通过jar包连接MySQL数据库)

    •通过jar包连接mysql数据库 •下载jar包 Java 连接 MySQL 需要驱动包,官网下载地址为MySQL驱动包官网下载,选择适合的jar包版本进行安装 (记得安装的地址,下面导入包时会用到 ...