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/?_ ...
随机推荐
- Flutter ChartSpace:通过跨端 Canvas 实现图表库
基于Flutter 的图形语法库,通过跨端 Canvas ,将基于 Javascript 的图形语法库 ChartSpace 扩展至 Flutter 端 作者:字节跳动终端技术--胡珀 背景 数据平台 ...
- [2022-3-5] OICLASS-USACO提高组模拟赛2 B: Cow Frisbee
题意 在一排奶牛中,对于每两头奶牛,如果两头奶牛之间没有奶牛比这两头高,则答案累加这两头奶牛的距离. 分析 设现在分析的奶牛为第 \(i\) 头,它向左扔出了一个飞盘,显然它的飞行高度为奶牛的高度.飞 ...
- http1.1与http2.0
简介 http1.0: 1.0版本中每个TCP连接只能发送一个请求,数据发送完毕连接就关闭,如果还要请求其他资源,就必须重新建立TCP连接.(TCP为了保证正确性和可靠性需要客户端和服务器三次握手和四 ...
- SpringCloudStream(RabbitMQ&Kafka)&Spring-Kafka配置使用
目录 是什么 解决问题 使用方式 创建生产者项目 pom yml 生产消息方法 接口 实现 创建消费者项目 pom yml 接收消息方法 重复消费 消费者yml 持久化 消费者负载个性配置(预拉取) ...
- 基于AE的基础的GIS系统的开发
一个GIS系统需要的基本功能的代码 一些基本的拖拽操作就不讲了,直接上代码吧. 1. 打开.mxd文件 基本思路:判断mxd路径存在→打开mxd文件 string filename = Appli ...
- mybatis连接sql
mysql6以上 com.mysql.cj.jdbc.Driver
- djinn
靶机准备 将靶机ova文件导入虚拟机,并将网络设置为NAT 开机获得ip:192.168.164.188 kali:192.168.164.137 渗透测试 扫描端口 nmap -sS -sV -T5 ...
- 在线Remix链接本地文件夹
问题 1.本地Remix环境版本滞后于在线编译器,新版本的语法在旧版本编译器中出现错误. 2.没有配置Vscode编译器,不便导入项目. 解决方案 *本解决方案基于Mac系统 创建共享文件夹 在本地创 ...
- CF487E Tourists(圆方树+树链剖分+multiset/可删堆)
CF487E Tourists(圆方树+树链剖分+multiset/可删堆) Luogu 给出一个带点权的无向图,两种操作: 1.修改某点点权. 2.询问x到y之间简单路径能走过的点的最小点权. 题解 ...
- JavaScript01 js基础语法,数据类型
JavaScript的概述: 1.组成 三部分组成 ecmaScript 基础语法 (es5) dom document object model 文档对象模型 (操作html文档内容) bom bo ...