实时抓取网页数据(之前抓取百度疫情数据的代码已经无法运行,怎么办?)

优采云 发布时间: 2021-12-05 12:00

  实时抓取网页数据(之前抓取百度疫情数据的代码已经无法运行,怎么办?)

  有朋友反映,抓取百度疫情数据的代码不能用了。没有看过的朋友可以点击下方链接查看。

  Python抓取实时数据并绘制地图

  我看了一下,因为百度调整了部分页面信息,代码调整后就可以使用了。如果下次调整呢?你觉得这个概率大吗?

  我觉得它很大,那么有没有办法稳定它?

  这样问,肯定有一些,就是用另一种方式获取疫情的实时数据。

  这次我们将抓取网易JSON流行病数据。

  链接是这个

  打开网站,看到是这样的。如果您是第一次接触 JSON 数据,您会感到困惑。不过没关系,如果你用的是火狐,还可以发现上面有JSON,美化输出等功能。

  

  这就是美化输出的效果。看起来好一点了,但是还是傻眼了,因为你还没有接触到JSON数据。

  

  这个有点JSON效果,颜色不同,看起来更舒服。

  

  好的,让我们开始数据捕获和导入。首先导入所需的模块。

  import json

import requests

from pandas.io.json import json_normalize

  然后开始抓取数据

  url="https://c.m.163.com/ug/api/wuhan/app/data/list-total"

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36'}

ret=requests.get(url, headers=headers)

result=json.loads(ret.content)

  查看抓到的数据结果,可以看到是一个字典,我们要的数据在key=data中。

  

  继续双击打开数据,我们要的数据在areaTree中。

  

  继续双击打开areaTree,这个areaTree是一个列表,在我们想要的数据的第一行。

  

  继续双击打开areaTree的第一行。这次又变成了字典。你看到中国了吗?哈哈,我们要的数据在key=children里面。

  

  继续双击打开children,这是我们要的数据,这个又变成了一个列表,每一行都是一个省的数据

  

  我们点第一行,看看湖北有没有出现。

  

  如果继续点击儿童,就会是湖北各城市的数据。如果不点击,我们只需要省份数据。我们怎样才能提出来?继续数据处理,提取我们想要的数据。

  t= result['data']['areaTree'][0]['children']

sf=json_normalize(t)

  就出来了两行代码,哈哈!我们来看看数据。

  

  那么我们要的字段是name,total.confirm,name是省名,

  total.confirm是累计确诊数,如果换成taday.confirm就是新确诊数。直接将name和total.confirm替换为用于绘制地图的代码对应的位置。

  # 将数据转换为二元的列表

list1 = list(zip(sf['name'],sf['total.confirm']))

# 创建一个地图对象

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')

  然后地图绘制结果出来了。

  

  

  如果你喜欢这篇文章,可以点击右下角查看

  如果您正在关注学习,请在留言区留言:签到

  如果你刚看完这篇文章,你可以查看这个系列的历史文章 并关注:

  从小白-Anaconda安装学习Python数据分析

  从小白学Python数据分析-使用spyder

  从小白学Python数据分析-数据导入1

  从小白学Python数据分析-数据导入2

  从小白学Python数据分析-描述性统计分析

  从小白-群分析学Python数据分析

  8行Python代码轻松映射新冠疫情

  动态新冠疫情图Python易画

  Python绘制16个省份支持湖北地图

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

  Python抓取实时数据并绘制地图

  世界动态疫情图Python易画

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线