Python写出新冠状病毒确诊人数地图的方法
作者:weixin_46250708 发布时间:2022-09-28 06:15:13
标签:Python,新冠状病毒,确诊人数地图
最近肺炎的发展速度属实有点恐怖。刚知道python的pyecharts这个库,想到pyecharts可视化的特点,正好可以扒一下肺炎实时播报的官网也做个地图。
第一步扒取数据:发现一个大问题,各省的确诊人数网页源代码里竟然没有。百度才知道这是js渲染生产的,又是一顿查。找到一种方法。用selenium执行一遍网页渲染的过程就可以了,首先安装selenium。
pip install selenium
在引用库的时候还需要webdriver这个启动浏览器的东西,我用的是google,所以要下载chromedriver。先查找自己chrome的版本
然后找到chromedriver的对应版本,下载
下载之后把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]
爬取成功
已经爬取到数据了,接下来就是可视化的部分了,用到pyecharts的Map块。
pyecharts文档链接在这里——按照文档里把库导入
地图的代码如下
但是我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')
看一下成果吧!
来源:https://blog.csdn.net/weixin_46250708/article/details/104231075


猜你喜欢
- 用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知道你是否也跟我一样?看1个简单的CSS:DIV#divBox p span.red
- 今早打开 腾讯ISD的博客 ,看到一篇新的文章,《迷你屋视觉规范简介》,赶紧看了来学习。不过给我抓到问题咯,臭鱼不介意我在这说下吧:这套规范
- 本文实例讲述了Python3.5多进程原理与用法。分享给大家供大家参考,具体如下:进程类:Process示例及代码:(1)创建函数作为单进程
- 目的在各种各样的理论计算中,常常需要绘制各种填充图,绘制完后需要加渐变填充的colorbar。可是有些软件如VMD,colorbar渲染后颜
- Python实现完整邮件先上效果:一、邮箱端设置首先,要对邮件进行一下设置,在邮箱端获取一个授权码。1、首先登录网页版126邮箱
- 引言“ 这是MySQL系列笔记的第一篇,文章内容均为本人通过实践及查阅资料相关整理所得,可用作新手入门指南,或
- javascript的字符集:javascript程序是使用Unicode字符集编写的。Unicode是ASCII和Latin-1的超集,并
- 本文讲述了Symfony核心类。分享给大家供大家参考,具体如下:Symfony的核心类Symfony的MVC方式使用了一些你以后会经常碰到的
- 1.准备工作:工欲善其事必先利其器,因此我们有必要在进行Coding前先配置一个适合我们自己的开发环境,我搭建的开发环境是:操作系统:Ubu
- 背景最近在搭一个新项目的架子,在生产环境中,为了能实时的监控程序的运行状态,少不了逻辑执行时间长度的统计。时间统计这个功能实现的期望有下面几
- 通信方式进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块主要通过队列方式队列:队列类似于一条管道,元素先
- 概述 -------------------------------------------------------------------
- 目录系列教程一、MySQL简介二、MySQL的发展历史三、MariaDB的基本使用1、基本安装与配置2、客户端命令:mysql3、其他客户端
- 先来看一下Spring官网首页的一个图片滑动显示效果可以看到, 随着鼠标的滑动,绿色图片和灰色图片可以无缝的在鼠标俩两边切换显示。显示这样的
- 前言本文主要给大家介绍关于python中__init__、__new__和__call__方法的相关内容,分享出来供大家参考学习,下面话不多
- 目录项目地址:简介使用主要代码项目地址:https://github.com/king-xw/Face_Recogntion简介本仓库是使用
- 这篇文章主要介绍了django-多对多表的创建和插入代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 本文为大家分享了Centos7.3下mysql5.7.18的安装,和修改初始密码,供大家参考,具体内容如下1、官方安装文档http://de
- 0 前言大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的。我理解了
- 实例如下所示:import matplotlib as mtimport numpy as np y=[7,0,0,0,0,0,1,25,9