爬虫-可视化一: 爬下来的东西不分析一波岂不可惜

絮叨一下

爬虫爬来爬去,总是要服务于某些行业的,存在数据库中唯自己所用,做数据分析,搜索引擎,以及人工智能,训练模型.
前面已经分享了很多学习爬虫的笔记,比如urllib模块,requests模块,正则,BS4,selenium,牛逼的scrapy框架,以及一些反爬比如js加密,cookies反爬,非对称加密等,爬下来的数据就放在磁盘中是不是太过于浪费,自然需要分析一波,那就要生成可视化图表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这次就 爬取腾讯新闻下的疫情信息进行分析

网址: 腾讯新闻疫情信息

Pyecharts 模块

官网: pyecharts官网

这个模块是基于百度开源的数据可视化Echarts模块 重构产生的

pyecharts 目前只有 3 个开发者在参与日常的开发和维护工作 不得不说 大佬就是大佬,开发一时爽,重构火葬场,虽然上手简单,绘制的图表会入巧克力一般丝滑,但却不稳定

特性

简洁的 API 设计

囊括了 30+ 种常见图表

支持主流 Notebook 环境

可轻松集成至 Flask,Django 等主流 Web 框架

高度灵活的配置项,可轻松搭配出精美的图表

详细的文档和示例,帮助开发者更快的上手项目

多达 400+ 地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持

这些都是官网给出的解释,用起来确实不错

版本问题

在2020-06-09已经更新迭代到version 1.8.1 版本 还有一个版本是0.5X版本,这个版本已经停止更新维护,而且有极其重要的的一点就是版本不兼容

安装

安装模块

pip3 install pyecharts

安装地图包

如果你需要绘制地图那还需要安装地图资源

全球国家地图: 
pip3 install echarts-countries-pypkg
中国省级地图:
pip3 install echarts-china-provinces-pypkg
中国市级地图: 
pip3 install echarts-china-cities-pypkg

下载官网示例

git clone https://github.com/pyecharts/pyecharts-gallery.git

或者你可以在这里下载:
官网示例

爬取数据

直接打开控制台 network 然后刷新 查找数据便发现这样一条请求

https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=jQuery341006574942485629642_1593907911556&_=1593907911557

一看就能明白 callback 删掉 然后_= 时间戳 直接time.time 就可以解决

获取请求

import requests
import time
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=&_={0}'.format(time.time()*1000)

response = requests.get(url).json()

print(response)

获取到一个json数据 是一个字典 字典中data 所对应是就是主要的信息 这种json 文件比较乱

可以新建一个json文件然后吧输出复制进去,吧一些干扰的删掉然后ctrl + Alt + L 进行格式化

这样会好分析不少

提取城市 以及 累计病例数

data = json.loads (response["data"])
all_city = data["areaTree"][0]["children"]
# 获取所有的城市信息

city_name = []
confirm = []
for city in range(len(all_city)):
    city_name.append(all_city[city]["name"])
    confirm.append(all_city[city]["confirm"])

这样我们就已经吧所有省,自治区的名称以及病例数量都放在两个列表中

柱状图

生成柱状图那就可以这样写

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar()
    .add_xaxis(city_name)
    # x轴数据
    .add_yaxis("数量",confirm )
    # y轴数据
    .set_global_opts(title_opts=opts.TitleOpts(title="各城市总计人数"))
    # 全局配置
    .render("bar_base.html")
)

如果看不明白这个栗子没关系 ,后文都会详细的说

这样在你的项目文件目录下就会生成一个bar_base 的一个html文件

浏览器打开看一下

  • 34
    点赞
  • 183
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Artisan_C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值