Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

前言

前段时间小编在网上看到一篇文章《百度一下,坑死你》引起了很多讨论,百度对此的回复是: 百家号的内容在百度搜索结果中不超过10%

今天小编就用Python对百度的搜索结果爬取并进行简单的分析。

具体步骤

1.页面分析

首先打开网页查看百度的热点事件,页面如下:

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

这次我主要对今日热点、娱乐热点、体育热点进行了爬取,每个热点下面有50条热点事件,然后对每个事件进行搜索,比如第一条--马云的福字:

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

可以看到搜索结果的第一页上有很多标题,然后对这些标题的链接进行爬取,再保存到一个txt文件里,最后对这些数据进行分析。

2.主要代码

(1)获取真实链接

这些搜索结果页面上的链接都是经过加密的,如下图:

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

我们要怎么得到真实的链接呢?相关代码如下:

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

2)数据处理

这里我总共爬取了1051条链接,如下图:

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

(3)数据分析

这里主要使用了matplotlib绘图帮助我们分析数据。首先需要统计出各个网站出现的次数,然后进行一个排序,得到排名前十的网站,结果如下(前面是网站,后面是出现次数):

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

可以看到百家号出现的次数是最多的。然后进行绘图分析,这里主要是绘图的代码,因为使用的是百分数,所以在绘图的时候会稍微麻烦一点:

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

运行结果

由于每个事件的搜索结果都是不同的,所以在解析网页的时候可能会出错,然后就是请求频率太高了会被ban掉,而且有时候UA会被识别出来然后就被ban掉了,运行情况如下图:

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

最后看一下绘制出来的图片:

Python对百度的搜索结果进行简单的分析,“百度一下,坑死你”

可以看到百家号的内容占比达到了17%,而排在第二的也是百度自家的产品,内容占比也达到了10%。当然了,由于搜索的都是百度上的热搜事件,所以得到的结果百度自家的内容会多一点,但是光百家号的内容就占了17%,是不是也太多了点呢?

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小编的支持。

相关推荐