Python写出新冠状病毒确诊人数地图的方法


Posted in Python onFebruary 12, 2020

最近肺炎的发展速度属实有点恐怖。刚知道python的pyecharts这个库,想到pyecharts可视化的特点,正好可以扒一下肺炎实时播报的官网也做个地图。

第一步扒取数据:发现一个大问题,各省的确诊人数网页源代码里竟然没有。百度才知道这是js渲染生产的,又是一顿查。找到一种方法。用selenium执行一遍网页渲染的过程就可以了,首先安装selenium。

pip install selenium

在引用库的时候还需要webdriver这个启动浏览器的东西,我用的是google,所以要下载chromedriver。先查找自己chrome的版本

Python写出新冠状病毒确诊人数地图的方法

然后找到chromedriver的对应版本,下载

Python写出新冠状病毒确诊人数地图的方法

下载之后把exe文件解压到编代码的文件夹里就可以使用了。现在可以爬数据了,导入库

from selenium import webdriver

然后驱动浏览器,并访问网址

driver = webdriver.Chrome()
driver.get('https://news.163.com/special/epidemic/#map_block')

这里记住得设置一个等待,要不然爬取数据的时候可能程序运行完了网页还没打开

driver.implicitly_wait(5)

这时就可以获取数据了

data = driver.page_source

还是得用正则表达式筛选一下想要的数据,别忘了在前面导入import re

name = re.findall(r'<span class="item_name">(.*?)</span>',data,re.S)[1:32]
value = re.findall(r'span class="item_confirm">(.*?)</span>',data,re.S)[1:32]

爬取成功

Python写出新冠状病毒确诊人数地图的方法

已经爬取到数据了,接下来就是可视化的部分了,用到pyecharts的Map块。

pyecharts文档链接在这里——按照文档里把库导入

Python写出新冠状病毒确诊人数地图的方法

地图的代码如下

Python写出新冠状病毒确诊人数地图的方法

但是我Faker这个下不下来,后来查了一下用了这个大佬的方法:地址

整体代码如下:

from pyecharts.charts import Map
from pyecharts import options as opts
import re
from selenium import webdriver

driver = webdriver.Chrome()


driver.get('https://news.163.com/special/epidemic/#map_block')
driver.implicitly_wait(5)
#data = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/ul[1]/li[1]/div/span[1]').text#.get_attribute('href')
data = driver.page_source
attr = re.findall(r'<span class="item_name">(.*?)</span>',data,re.S)[1:32]
value = re.findall(r'span class="item_confirm">(.*?)</span>',data,re.S)[1:32]

sequence = list(zip(attr, value))


def map_visualmap(sequence, year) -> Map:
 c = (
  Map()
   .add(year, sequence, "china", )
   .set_global_opts(
   title_opts=opts.TitleOpts(title="新冠装状病毒各省确诊人数"),
   visualmap_opts=opts.VisualMapOpts(max_=130, min_=95),
  )
 )
 return c


map = map_visualmap(sequence, '新冠病毒感染情况')
map.render(path='2020.html')

看一下成果吧!

以上就是三水点靠木小编整理的全部内容,感谢大家的学习和支持。

Python 相关文章推荐
跟老齐学Python之编写类之三子类
Oct 11 Python
Python制作爬虫采集小说
Oct 25 Python
Python实现Linux中的du命令
Jun 12 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
Oct 26 Python
django中使用事务及接入支付宝支付功能
Sep 15 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
解决django model修改添加字段报错的问题
Nov 18 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 Python
python3 requests库实现多图片爬取教程
Dec 18 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
详解pandas获取Dataframe元素值的几种方法
Jun 14 Python
8种常用的Python工具
Aug 05 Python
pycharm通过ssh连接远程服务器教程
Feb 12 #Python
python日期与时间戳的各种转换示例
Feb 12 #Python
Python使用uuid库生成唯一标识ID
Feb 12 #Python
将python文件打包exe独立运行程序方法详解
Feb 12 #Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 #Python
Python sep参数使用方法详解
Feb 12 #Python
Python多重继承之菱形继承的实例详解
Feb 12 #Python
You might like
我的论坛源代码(十)
2006/10/09 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
javascript生成json数据简单示例分享
2014/02/14 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
vue解决跨域问题(推荐)
2020/11/10 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
python中while循环语句用法简单实例
2015/05/07 Python
python实现基本进制转换的方法
2015/07/11 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
教师找工作推荐信
2013/11/23 职场文书
服务行业口号
2014/06/11 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
淘宝好评语句大全
2014/12/31 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python