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
0
投稿
猜你喜欢
- 本文实例为大家分享了Pygame框架实现飞机大战的具体代码,供大家参考,具体内容如下飞机大战主游戏类"""项目
- 本文实例讲述了Python决策树之基于信息增益的特征选择。分享给大家供大家参考,具体如下:基于信息增益的特征选取是一种广泛使用在决策树(de
- Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行全面地管理。按照本文
- 本文实例讲述了python实现将html表格转换成CSV文件的方法。分享给大家供大家参考。具体如下:使用方法:python html2csv
- 1. 安装 xlrd 库Python 读取 Excel 中的数据主要用到 xlrd 第三方库。xlrd 其实就是两个单词的简化拼接,我们可以
- 序列化模块import pickle序列化和反序列化把不能直接存储的数据变得可存储,这个过程叫做序列化。把文件中的数据拿出来,回复称原来的数
- 今天我们用python和pygame实现一个乒乓球的小游戏,或者叫弹珠球游戏。笑脸乒乓球游戏功能介绍乒乓球游戏功能如下:乒乓球从屏幕上方落下
- 出差做PPT,要放一些图片上去,原图太大必须resize,十几张图片懒得一一处理了,最近正好在学python,最好的学习方式就是使用,于是写
- 当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度。笔者做了一个简单的尝试,1亿条数据,分100张表。具体实现过程如下。首先
- MediaPipe概述谷歌开源MediaPipe于2019年6月首次推出。它的目标是通过提供一些集成的计算机视觉和机器学习功能,使我们的生活
- 编写 models.py 文件from django.db import models# Create your models here.c
- 主要代码是参考:https://github.com/SoulDGXu/NLPVisualizationSystem/tree/master
- 获取一组radio被选中项的值var item = $(’input[@name=items][@checke
- python 中有6大标准类型:数字(Number)字符串(String)列表(List)元组(Tumple)集合(Set)字典(Dicti
- 一、AnacondaAnaconda(水蟒)是一个捆绑了Python、conda、其他相关依赖包的一个软件。包含了180多个可学计算包及其依
- 引言语音端点检测最早应用于电话传输和检测系统当中,用于通信信道的时间分配,提高传输线路的利用效率.端点检测属于语音处理系统的前端操作,在语音
- 出现invalid syntax报错的几种原因这篇文章旨为刚接触python不久的朋友,提供一点帮助,请在检查代码没有主要问题时再看是否存在
- Go Gin 实现文件的上传下载流读取文件上传routerrouter.POST("/resources/common/uploa
- 在一个群上看到好几次问到call和apply的作用,function这两个方法的效果大家都很容易理解,但一般很难让人深刻地理解使用它们的时机
- 1、场景描述通常来说,前端要拿到excel数据,都是先上传存储数据库,然后再请求后端接口,获取数据。但有100个产品经理,就会有101个不同