手把手教你利用Pyecharts库对IP代理数据进行数据可视化分析
/1 前言/
前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇)和手把手教你使用Python爬取西次代理数据(下篇),木有赶上车的小伙伴,可以戳进去看看。今天小编带对爬取的数据进行可视化操作,数据可视化主要利用 pyecharts 库进行操作,具体步骤如下。 本次爬虫的目的主要是想分析代理在全国各城市的分布情况。小编的思路是对所有城市的代理数量进行一个统计,然后通过可视化技术构建一个代理热力分布图。整体思路是使用 pyecharts 构建一张热力分布图,用以直观展现各个城市的代理分布情况。
/2 代理分布统计/
Pyecharts 在进行热力图绘制的时候,需要提供城市名,但实际上从网上爬取到的位置数据并不是标准的城市名:
这个时候需要我们对这些数据进行处理,从位置中将城市名提取出来,例如:湖北十堰 需要提取出 十堰 来。 为了达到这个目的,我使用开源的** cpca** 库进行提取,该库主要使用结巴分词对数据进行处理,然后比对数据库,将省市县提取出来,一个直观的例子如下:
通过这种方式,我们就可以提取出城市名了,在然后在代码中实现如下:
提取完城市数据之后,需要对城市的代理数量进行一个统计,总体思路是,构建一个列表。然后循环遍历抓取的城市,如果找到一个列表中没有的城市,就在列表中加入该城市,并把代理设置为 1,如果有该城市,则数量加 1。 通过这种方式,就将代理在各个城市的分布情况统计完毕了。接下来就是使用 pyecharts 进 行热力图绘制了。
/3 代理热力图绘制/
有了代理在各个城市的分布情况,接下来就需要进行热力图绘制,使用 pyecharts 加载我们之前统计好的列表即可, 代码如下:
程序执行完毕后,会在当前页面生成一个名叫全国代理分布.html的网页,使用 chrome或者 firefox 打开该网页即可看到热力分布结果, 如下图所示,其中颜色越深的地方代表代理数量越多。
全国代理分布图
数据视图
统计发现,代理主要分布在东部地区,东部地区又集中分布在广州、江浙、山东一带,而西部地区几乎没有,这也从另外以角度说明了互联网硬件设施在我国发展的很不均衡,绝大多数资源集中到了东部地区。
/4 小结/
本次任务主要爬取了代理网站上的代理数据,对代理在各个城 市的分布进行了统计分析,并利用可视化的技术进行代理分布热力图绘制。主要做了以下方 面的工作:
学习使用 pyecharts 库进行数据可视化;
学习使用 cpca 库进行中文数据分词。
得出了以下结论:
全国各地的网络代理主要分布在东部地区,东部地区又集中分布在广州、江浙、山东一带,而西部地区几乎没有,这也从一个角度说明了互联网硬件设施在我国发展的很不均衡,绝大多数资源集中到了东部地区。
Python 爬虫是一项综合技能,在爬取网站的过程中能够学到很多知识,希望大家多多专研。
如果有需要代码的小伙伴,可以在后台回复“代理”二字,即可获取。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SAP ABAP关键字语法图和ABAP代码自动生成工具Code Composer
本文介绍的两个知识点比较零碎,所以我放在同一篇文章里来介绍。 Jerry在做SAP CRM Fiori应用开发时,在学习JavaScript时,读过这本书: 书中使用这种语法图讲解JavaScript的语法: 其实ABAP帮助文档里也存在类似的语法图,只是藏在一个不起眼的角落,不为大家所熟知: 以关键字APPEND为例,查看其语法图: 单击超链接,语法图就展示出来了,我觉得比帮助文档里的文字描述直观得多: 点击问号,可以查看图里每个组成部分的详细说明: 我们有时候发现编写的ABAP代码,运行时不能按照自己的期望工作,往往是因为对ABAP帮助文档里描述的ABAP关键字的功能理解得似是而非。如果你阅读有的关键字帮助文档时,感到晦涩难懂时,不妨换个角度,看一看它的语法图,说不定能够豁然开朗。 Jerry之前学习过SAP Commerce,在搭建开发环境执行ant all命令行进行项目构建时,发现会自动生成大量的.java文件。我的同事告诉我,这些Java文件的内容,是基于一个叫做Velocity的Java模板引擎生成的。 这些位于Hybris安装包内,以.vm结尾的文件,即Velocity的...
- 下一篇
Python GUI界面编程-初识
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这界面若要通过在显示屏的特定位置,以"各种美观而不单调的视觉消息"提示用户"状态的改变",势必得比简单的消息呈现花上更多的计算能力。GUI概述图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这界面若要通过在显示屏的特定位置,以"各种美观而不单调的视觉消息"提示用户"状态的改变",势必得比简单的消息呈现花上更多的计算能力。在 GUI 中,并不只是键入文本和返回文本,用户可以看到窗口、按钮、文本框等图形,而且可以用鼠标单击,还可以通过键盘键入,GUI 是与程序交互的一种不同的方式。 Python GUI常用框架FlexxFlexx是一个纯Python工具包,用于创建图形用户界面(GUI),它使用Web技术进行渲染...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主