专栏首页Python爬虫与数据挖掘手把手教你利用Pyecharts库对IP代理数据进行数据可视化分析

手把手教你利用Pyecharts库对IP代理数据进行数据可视化分析

1 前言

前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇)和手把手教你使用Python爬取西次代理数据(下篇),木有赶上车的小伙伴,可以戳进去看看。今天小编带对爬取的数据进行可视化操作,数据可视化主要利用 pyecharts 库进行操作,具体步骤如下。

本次爬虫的目的主要是想分析代理在全国各城市的分布情况。小编的思路是对所有城市的代理数量进行一个统计,然后通过可视化技术构建一个代理热力分布图。整体思路是使用 pyecharts 构建一张热力分布图,用以直观展现各个城市的代理分布情况。

2 代理分布统计

Pyecharts 在进行热力图绘制的时候,需要提供城市名,但实际上从网上爬取到的位置数据并不是标准的城市名:

这个时候需要我们对这些数据进行处理,从位置中将城市名提取出来,例如:湖北十堰 需要提取出 十堰 来。

为了达到这个目的,我使用开源的** cpca** 库进行提取,该库主要使用结巴分词对数据进行处理,然后比对数据库,将省市县提取出来,一个直观的例子如下:

通过这种方式,我们就可以提取出城市名了,在然后在代码中实现如下:

提取完城市数据之后,需要对城市的代理数量进行一个统计,总体思路是,构建一个列表。然后循环遍历抓取的城市,如果找到一个列表中没有的城市,就在列表中加入该城市,并把代理设置为 1,如果有该城市,则数量加 1。

通过这种方式,就将代理在各个城市的分布情况统计完毕了。接下来就是使用 pyecharts 进 行热力图绘制了。

3 代理热力图绘制

有了代理在各个城市的分布情况,接下来就需要进行热力图绘制,使用 pyecharts 加载我们之前统计好的列表即可, 代码如下:

程序执行完毕后,会在当前页面生成一个名叫全国代理分布.html的网页,使用 chrome或者 firefox 打开该网页即可看到热力分布结果, 如下图所示,其中颜色越深的地方代表代理数量越多。

全国代理分布图

数据视图

统计发现,代理主要分布在东部地区,东部地区又集中分布在广州、江浙、山东一带,而西部地区几乎没有,这也从另外以角度说明了互联网硬件设施在我国发展的很不均衡,绝大多数资源集中到了东部地区。

4 小结

本次任务主要爬取了代理网站上的代理数据,对代理在各个城 市的分布进行了统计分析,并利用可视化的技术进行代理分布热力图绘制。主要做了以下方 面的工作:

  1. 学习使用 pyecharts 库进行数据可视化;
  2. 学习使用 cpca 库进行中文数据分词。

得出了以下结论:

  1. 全国各地的网络代理主要分布在东部地区,东部地区又集中分布在广州、江浙、山东一带,而西部地区几乎没有,这也从一个角度说明了互联网硬件设施在我国发展的很不均衡,绝大多数资源集中到了东部地区。
  2. Python 爬虫是一项综合技能,在爬取网站的过程中能够学到很多知识,希望大家多多专研。

本文分享自微信公众号 - Python爬虫与数据挖掘(crawler_python),作者:Python进阶者

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 手把手教你使用Python爬取西刺代理数据(上篇)

    细心的小伙伴应该知道上次小编发布了一篇关于IP代理的文章,基于Python网络爬虫技术,主要介绍了去IP代理网站上抓取可用IP,并且Python脚本实现验证IP...

    Python进阶者
  • 一篇文章带你了解Go语言基础之函数(下篇)

    Hey,大家好呀,我是星期八,这次咱们来学习一下函数的最后一些知识,快来上车叭。之前已经分享了:一篇文章带你了解Go语言基础之函数(上篇)、一篇文章带你了解Go...

    Python进阶者
  • 世界上最有价值的不是石油,而是数据!

    "The world's most valuable resource is no longer oil,but data"

    Python进阶者
  • 聊聊Java动态代理(上)

    前言 在之前的文章《聊聊设计模式之代理模式》中,笔者为大家介绍了代理模式,在这里简单回顾一下。代理模式的作用是提供一个代理来控制对一个对象的访问,因此我们可以...

    黄泽杰
  • 设计模式--Proxy模式

    Subject: 可以是接口,也可以是抽象类 Proxy: 内部含有对真实对象RealSubject的引用,负责对真实主题角色的调用,并在真实主题角色处理...

    河岸飞流
  • 爬虫代理哪家强?十大付费代理详细对比评测出炉!

    前言 随着大数据时代的到来,爬虫已经成了获取数据的必不可少的方式,做过爬虫的想必都深有体会,爬取的时候莫名其妙 IP 就被网站封掉了,毕竟各大网站也不想自己的...

    崔庆才
  • 所有和Java中代理有关的知识点都在这了。

    对于每一个Java开发来说,代理这个词或多或少都会听说过。你可能听到过的有代理模式、动态代理、反向代理等。那么,到底什么是代理,这么多代理又有什么区别呢。本文就...

    java思维导图
  • Spring知识点(五)代理模式

    使用代理模式的目的是为了将原来类生成一个代理类,由代理类来执行原来类的一些增强方法,但是也不影响原来类中方法的执行。

    虞大大
  • 2.3.1 理解动态代理 -《SSM深入解析与项目实战》

    Spring中AOP的拦截功能就是使用Java中的动态代理实现的。也就是在被代理类(方法)的基础上增加切面逻辑,生成代理类(方法)。切面的逻辑可以在目标类函数执...

    谙忆
  • 付费代理的使用

    崔庆才

扫码关注云+社区

领取腾讯云代金券