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 strip lstrip rstrip使用方法
Sep 06 Python
Python实现把数字转换成中文
Jun 29 Python
Python获取邮件地址的方法
Jul 10 Python
Python实现拷贝多个文件到同一目录的方法
Sep 19 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
对Python中range()函数和list的比较
Apr 19 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
使用Python处理BAM的方法
Sep 28 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
python变量命名的7条建议
Jul 04 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 Python
python怎么删除缓存文件
Jul 19 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
星际玩家的三大定律
2020/03/04 星际争霸
扩展你的 PHP 之入门篇
2006/12/04 PHP
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
javascript常用的设计模式
2017/02/09 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
微信小程序实现人脸识别
2018/05/25 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
Python socket编程实例详解
2015/05/27 Python
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
Python分析学校四六级过关情况
2017/11/22 Python
Python Socket使用实例
2017/12/18 Python
用python处理MS Word的实例讲解
2018/05/08 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
Django实现内容缓存实例方法
2020/06/30 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
保护环境的建议书
2014/03/12 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
2014财务年度工作总结
2014/11/11 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
旅行社计调工作总结
2015/08/12 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书