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解析html开发库pyquery使用方法
Feb 07 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
Scrapy框架使用的基本知识
Oct 21 Python
python简单实现AES加密和解密
Mar 28 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
Python的缺点和劣势分析
Nov 19 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
Jan 25 Python
Django操作session 的方法
Mar 09 Python
python解压zip包中文乱码解决方法
Nov 27 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
Pytorch中的数据集划分&正则化方法
May 27 Python
Pandas-DataFrame知识点汇总
Mar 16 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来检测proxy
2006/10/09 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
jquery easyui使用心得
2014/07/07 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
Python学习之os模块及用法
2020/06/03 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
什么是Assembly(程序集)
2014/09/14 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
幼儿园消防安全制度
2014/01/26 职场文书
《哪吒闹海》教学反思
2014/02/28 职场文书
辩论赛主持词
2014/03/18 职场文书
2015年技术员工作总结
2015/04/10 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
python基于turtle绘制几何图形
2021/06/15 Python
Java8中Stream的一些神操作
2021/11/02 Java/Android