Python抓取实时数据绘制地图

今天我们来看看如何实现通过抓取最新疫情绘制地图。同样使用PyEcharts进行绘制全国疫情地图,还没看过前几期使用PyEcharts绘制疫情地图文章的,可以通过以下链接查看

8行Python代码轻松绘制新冠疫情地图

动态新冠疫情地图Python轻松画

Python绘制16省支援湖北地图

湖北动态新冠疫情地图Python轻松画

 

抓取数据需要使用selenium模块,如果没有安装的,可以先安装

pip install selenium

然后需要使用chrome浏览器,还要根据你的chrome浏览器版本下载对应的chromedriver.exe 文件。

打开chrome浏览器,输入chrome://version/ 回车,即可查看Chrome浏览版本

Python抓取实时数据绘制地图

 

长按识别下方二维码,并关注公众号
回复“
CH”获取Chromedrvier下载地址

Python抓取实时数据绘制地图

 

Chromedrvier下载后,将文件复制至与chrome.exe所在文件夹里。我的路径是这个

C:Program Files (x86)GoogleChrome

Application

你看看你的是安装在哪个路径下,如果默认的话,很可能就是跟我的一样。

我们主要是从百度疫情数据(https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_3)进行抓取再绘制地图,地图效果如下:

 

Python抓取实时数据绘制地图

 

下面开始进行抓取

from selenium import webdriver
import pandas as pd
browser = webdriver.Chrome('C:Program Files (x86)GoogleChromeApplicationchromedriver.exe') 
browser.get("https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_3")
html = browser.page_source
data = pd.read_html(html)
browser.close()

 

 

抓取得到的数据是这样的

Python抓取实时数据绘制地图

 

如果抓取成功了,再单独运行后面绘制地图的代码,不要重复运行抓取数据的代码,因为百度会做限制的,太频繁会限制访问的。切记切记,所以抓取数据代码也要写好了再测试运行,不要重复测试。

下面就是绘制地图代码,前面说的四篇使用PyEcharts绘制疫情地图文章都看过的话,这里就很简单了,接着抓取数据代码运行后,再单独运行以下代码即可出图了。

from pyecharts.charts import Map
from pyecharts import options as opts
data1 = data[1].drop(index=range(1,19))
# 将数据转换为二元的列表
list1 = list(zip(data1['地区'],data1['确诊']))
# 创建一个地图对象
map_1 = Map()
#对全局进行设置
map_1.set_global_opts(
#设置标题
title_opts=opts.TitleOpts(title="全国疫情地图"),
#设置最大数据范围
visualmap_opts=opts.VisualMapOpts(max_=2500,range_color=["#FFFFFF","#FFCC00","#CC0000"]))

# 使用add方法添加地图数据与地图类型
map_1.add("累计确诊人数", list1, maptype="china")

# 地图创建完成后,通过render()方法可以将地图渲染为html
map_1.render('全国疫情地图.html')

THE END
分享
二维码
海报
Python抓取实时数据绘制地图
今天我们来看看如何实现通过抓取最新疫情绘制地图。同样使用PyEcharts进行绘制全国疫情地图,还没看过前几期使用PyEcharts绘制疫情地图文章的,可以通过以下……
<<上一篇
下一篇>>