python爬虫-抓取搜狗指数(-_-感觉这标题不好起呀)

代码在这GitHub-sogouIndex

学这篇文章的内容你需要:

requests模块

然后你还需要会dict、list,一点基础也可以,我不敢保证人人能看懂


先来张样图(:

sogou index

本想输出表格形式,可能脑子不够用,懒得想了就放弃了,这样也可以(自我感觉)(:


来分析分析网页,链接在这http://index.sogou.com,打开网址,是这样的

其实之前是准备搞百度的,谁知这家伙搜索还要登录,然后登录又要费时间,索性就放弃百度了,搜狗不需要登录,这很爽

先随便搜一个关键字吧,比如python

我之前看有人爬百度指数的时候他说百度的结果用了什么很麻烦的设计,但是搜狗指数数据在源码就找得到

但是如果你就这样直接用requests请求后再用正则匹配源码里的数据那你就和我一样成傻子的,我当时也是看到源码,心想:我擦,这么简单,用正则就可以了撒,然后等我代码写完了:

调试也完了后在网页点了一个“PC趋势”后我瞄了一眼,看到了开发工具有一条请求,点进一看,返回的JSON格式数据,然后我又点了一下“整体趋势”

一样有请求,顺手点了一下,看了看返回结果:

心里一亿只草泥马狂奔。。。。我差点没哭出来,我特么辛辛苦苦写的正则


然后咱们说说步骤把:

1、分析链接参数http://index.sogou.com/getRenderData?kwdNamesStr=python&timePeriodType=MONTH&dataType=SEARCH_ALL&queryType=INPUT,“?”后面的都是参数

kwdNamesStr:关键字

timePeriodType:查询的时间段,分为:周、月、年(WEEK、MONTH、YEAR)记住请求的时候是大写的

dataType:搜索的平台,分为:PC、WAP(移动),SEARCH_ALL表示整体,SEARCH_PC表示PC...

queryType:我也不知道这啥玩意,反正带着请求就好了,没什么印象

2、开始请求

转成JSON格式更好分析

pvList:就是我们在http://index.sogou.com/index/searchHeat?kwdNamesStr=python&timePeriodType=MONTH&dataType=SEARCH_ALL&queryType=INPUT里看到的那个趋势图里的数据

infoList:就是这里的数据

topPvDataList:对本文没点用,本身也就没啥用。。。

我们要取的数据就是infoList里的,pvList是详细的,取很简单

infoList里的分析:

ratioWapChain 移动环比

ratioWapMonth 移动同比

avgWapPv 移动搜索指数

ratioChain 整体环比

ratioMonth 整体同比

kwdName 关键字名

avgPv 整体搜索指数/平均值

现来看看infoList的代码:


ok,完工了,然后你们自己完善,或者看看我的源码也可以,虽然不是什么很牛b的程序,哈哈哈

再上一次链接https://github.com/ZCKun/FootPrints/tree/master/SogouIndex

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,067评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,062评论 19 139
  • 星洲:西泠采风——二(1)班第五小分队假日活动纪实 ...
    黄磊的简书阅读 4,090评论 0 3
  • 下面是任务一的代码,写起来虽然不难但还是先把html的标签过了一遍,非常的蛋疼,因为我发现语义化太“严重”了,难以...
    garble阅读 1,495评论 0 0
  • 随着年纪的增长、人世的变迁,我们经常会碰到欲言又止、不知道该说什么的窘境。朋友打电话告诉你,他失业了;同事的检查报...
    Hello_灰先森阅读 3,408评论 0 6

友情链接更多精彩内容