温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Python写出新冠状病毒确诊人数地图

发布时间:2021-11-05 16:21:58 来源:亿速云 阅读:179 作者:iii 栏目:编程语言

本篇内容主要讲解“怎么用Python写出新冠状病毒确诊人数地图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用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 Mapfrom pyecharts import options as optsimport refrom selenium import webdriverdriver = webdriver.Chrome()driver.get('https://news.163.com/special/epidemic/#map_block')driver.implicitly_wait(5)#data = driver.find_element_by_xpath('/html/body/p[3]/p[2]/p[2]/ul[1]/li[1]/p/span[1]').text#.get_attribute('href')data = driver.page_sourceattr = 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 cmap = map_visualmap(sequence, '新冠病毒感染情况')map.render(path='2020.html')

看一下成果吧!

到此,相信大家对“怎么用Python写出新冠状病毒确诊人数地图”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI