/1 前言/
前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇)和手把手教你使用Python爬取西次代理数据(下篇),木有赶上车的小伙伴,可以戳进去看看。今天小编带对爬取的数据进行可视化操作,数据可视化主要利用 pyecharts 库进行操作,具体步骤如下。
本次爬虫的目的主要是想分析代理在全国各城市的分布情况。小编的思路是对所有城市的代理数量进行一个统计,然后通过可视化技术构建一个代理热力分布图。整体思路是使用 pyecharts 构建一张热力分布图,用以直观展现各个城市的代理分布情况。
/2 代理分布统计/
Pyecharts
在进行热力图绘制的时候,需要提供城市名,但实际上从网上爬取到的位置数据并不是标准的城市名:
这个时候需要我们对这些数据进行处理,从位置中将城市名提取出来,例如:湖北十堰 需要提取出 十堰 来。
为了达到这个目的,我使用开源的** cpca** 库进行提取,该库主要使用结巴分词对数据进行处理,然后比对数据库,将省市县提取出来,一个直观的例子如下:
通过这种方式,我们就可以提取出城市名了,在然后在代码中实现如下:
提取完城市数据之后,需要对城市的代理数量进行一个统计,总体思路是,构建一个列表。然后循环遍历抓取的城市,如果找到一个列表中没有的城市,就在列表中加入该城市,并把代理设置为 1,如果有该城市,则数量加 1。
通过这种方式,就将代理在各个城市的分布情况统计完毕了。接下来就是使用 pyecharts 进 行热力图绘制了。
/3 代理热力图绘制/
有了代理在各个城市的分布情况,接下来就需要进行热力图绘制,使用 pyecharts 加载我们之前统计好的列表即可, 代码如下:
程序执行完毕后,会在当前页面生成一个名叫全国代理分布.html的网页,使用 chrome
或者 firefox
打开该网页即可看到热力分布结果, 如下图所示,其中颜色越深的地方代表代理数量越多。
全国代理分布图
数据视图
统计发现,代理主要分布在东部地区,东部地区又集中分布在广州、江浙、山东一带,而西部地区几乎没有,这也从另外以角度说明了互联网硬件设施在我国发展的很不均衡,绝大多数资源集中到了东部地区。
/4 小结/
本次任务主要爬取了代理网站上的代理数据,对代理在各个城 市的分布进行了统计分析,并利用可视化的技术进行代理分布热力图绘制。主要做了以下方 面的工作:
- 学习使用
pyecharts
库进行数据可视化; - 学习使用
cpca
库进行中文数据分词。
得出了以下结论:
- 全国各地的网络代理主要分布在东部地区,东部地区又集中分布在广州、江浙、山东一带,而西部地区几乎没有,这也从一个角度说明了互联网硬件设施在我国发展的很不均衡,绝大多数资源集中到了东部地区。
Python
爬虫是一项综合技能,在爬取网站的过程中能够学到很多知识,希望大家多多专研。
如果有需要代码的小伙伴,可以在后台回复“代理”二字,即可获取。
------------------- End -------------------
往期精彩文章推荐:
来源:oschina
链接:https://my.oschina.net/u/4279681/blog/4266882