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 10 Python
Python实现爬取知乎神回复简单爬虫代码分享
Jan 04 Python
python使用urllib2提交http post请求的方法
May 26 Python
python 实现上传图片并预览的3种方法(推荐)
Jul 14 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
Python+tkinter模拟“记住我”自动登录实例代码
Jan 16 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
Tesserocr库的正确安装方式
Oct 19 Python
在python中pandas的series合并方法
Nov 12 Python
python中的tcp示例详解
Dec 09 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
python3实现常见的排序算法(示例代码)
Jul 04 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
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
Add a Formatted Table to a Word Document
2007/06/15 Javascript
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
删除Javascript Object中间的key
2014/11/18 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
python开发之for循环操作实例详解
2015/11/12 Python
python中web框架的自定义创建
2019/09/08 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
Python创建数字列表的示例
2019/11/28 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
程序员岗位职责
2013/11/11 职场文书
法学专业自我鉴定
2014/02/05 职场文书
班长演讲稿范文
2014/04/24 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
绿色校园广播稿
2014/10/13 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
2015年考研复习计划
2015/01/19 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书