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 logging模块学习笔记
May 24 Python
在Python中操作字符串之startswith()方法的使用
May 20 Python
Python模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
Python编程实现的图片识别功能示例
Aug 03 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
python面试题Python2.x和Python3.x的区别
May 28 Python
python3.4 将16进制转成字符串的实例
Jun 12 Python
python爬虫 基于requests模块的get请求实现详解
Aug 20 Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 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环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
javascript 定义初始化数组函数
2009/09/07 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
python实现识别相似图片小结
2016/02/22 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
python调用私有属性的方法总结
2020/07/24 Python
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
应届毕业生自我鉴定范文
2013/12/27 职场文书
大学生入党思想汇报
2014/01/14 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
乡镇三项教育实施方案
2014/03/30 职场文书
大学生社团活动总结
2014/04/26 职场文书
读书活动总结范文
2014/04/26 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
公司合并协议书范本
2014/09/30 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
《将心比心》教学反思
2016/02/23 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
Python爬取某拍短视频
2021/06/11 Python