当前位置:首页 > seo基础 / 正文
后台-系统设置-扩展变量-手机广告位-内容页头部广告位
作者:星星

SEO基础:怎样抓取关键词查询量:百度指数的分析

星星 3年前(2016-12-10 10:53:36) seo基础

 获取百度指数中每个关键词的查询量,可能是很多做SEO或PPC的朋友们一直想做的事,但是百度指数并不是那么容易的被抓取,主要是他的查询并不是走的一般的HTTP协议,而是AMF协议,导致给数据抓取造成了一些麻烦。下面就一起来分析到底百度是如何进行查询数据的。

百度指数的趋势分析Flash(http://index.baidu.com/fla/TrendAnalyser.swf)采用了一种股市(stock)类的Flash报表作为原型,并在其基础上结合了自身的特色进行重新开发。

百度指数Flash的完整运行流程如下:

  1. 页面加载Flash。

  2. Flash解析HTML中设定的flashvars参数,设定通信网关(http://index.baidu.com/gateway.php,返回数据的url地址)、显示数据时间段,生成图片的网页地址以及调用数据的key(没有注册key将不能获得数据)。

  3. Flash根据参数向服务器(http://index.baidu.com/gateway.php)以POST方式发送请求,参数进行了加密处理。

  4. Gateway返回加密过的数据。

  5. Flash对数据解密,并进过内部运算后显示。

  6. 捕捉用户拖拽类型动作,重复3~5。

  7. 若用户鼠标悬停在某时间点上,则以GET方式(JSONP调用)。

  8. 返回的数据触发页面js脚本(不是直接给flash)的newsReturnCallback函数,参数为返回的json类型数据。数据经过处理后生成新的json数据,再通过js传递给Flash。

  9. Flash解析传入的json数据,显示冒泡窗口,将url地址和标题数据显示出来。

  10. 捕捉用户鼠标悬停类型动作,重复7~9。

百度指数的查询请求参数:

如上图所示,百度指数是AMF协议进行通讯。

  • [0] 为要查询的关键词

  • [1] 是地区ID,用来限定查询的城市的

  • [2] 未知

  • [3] 参数3是时间,通过网页源文件里的eval(DEC())

  • [4] 5位随机数+md5(参数3+utf8(关键字)+ZZg<XWe7SZcBJ^aH)+5位随机数)

参数4的算法来自于网络,可能不准确,具体可以查看附件中的Flash源代码。大家可以自己分析,分析出来后记得把结果告诉我~

百度指数的查询返回数据:

  • userIndexes为每天的查询量

  • mediaIndexes为媒体关注度

  • 版权声明:本站原创文章,由深圳SEO小星星发表,如有转载请注明来源处。深圳SEO小星星博客www.xinxing327.com

标 签

试试用"←"或"→"方向键快速翻页把 (^o^)/

后台-系统设置-扩展变量-手机广告位-内容页头部广告位
留言与评论(共有 0 条评论)
   
验证码:
搜索
热门图片
最近更新

Powered By 小星星SEO博客

粤ICP备16041893号-1 seo技术交流群