美文网首页爬虫实战项目
爬虫实战——三大指数之微博指数(上)

爬虫实战——三大指数之微博指数(上)

作者: 酸豇豆儿 | 来源:发表于2017-08-30 22:02 被阅读446次

    (本人原创,谢绝转载)

    最近,豇豆哥写了关于一系列的爬虫,其中三大指数就是最近着手写,今天先给大家分享第一指数:微博指数

    分析:

    首先打开微博指数的首页微指数首页,我们采用关键词iPhone作为搜索条件,同时开启fiddler抓包工具。这里说明一下:

    在fiddler设置一下过滤条件,就能过滤掉无用杂乱的其他数据,剩下的数据就是你所需要的。

    我们访问iPhone的微指数抓图下来可以看到这些数据:

    然后返回fiddler,豇豆哥一般不喜欢用chrome或者firefox的抓包工具,太复杂,太繁琐(fiddler可谓爬虫抓包神器,不会的同学一定要学!!!)

    通过查看,找到了我们想要的源码数据,这下就好。带入参数,请求这个网页,他的返回值就是我们需要的,以上是分析过程。

    编写程序:

    分析完成之后,我们就着手写程序,豇豆哥写爬虫有个习惯是:

    1、请求网站,我一般都会请求该网页的原网站。

    2、最喜欢的库就是requests库,特别是涉及到模拟登陆的时候,这个库能大大提升你的编程效率。

    3、喜欢用自己的小工具,在headers这块自己开发了一个小程序,非常快速的获取headers。

    ok习惯讲完了。我们开始写程序了:

    上面分析,豇豆哥找到了所需要访问的网站,那么这个网站需要传入那些参数了?可以查看fiddler的webforms,如下图:

    网站是采用get方式传入的数据,需要的参数有wid,sdate,edate,__rdn,第一个参数我们不知道是什么含义,但是后面参数可以猜到起始时间,rnd是时间戳(http网络知识),都不影响网页的访问,我们就注重去获取wid的值。

    获取wid值:

    wid变量我们是不知道,根据经验来说,这块应该是在前面的网页中产生(动态js产生或者请求网页产生)。豇豆哥通过查找:1030000000269这个值,发现了wid的来源,如图:

    可以看到,我们是通过搜索关键词:iphone,请求图中的网页后,他的返回值中刚好有:1030000000269 这个数值,找到这个数值之后,对于下一步的网页请求就简单了。

    所以总结一下:

    1、首先是分析网页结构,找到目标数据,分析数据来源。

    2、找到参数关键字逐步网上层寻找关键字,并取得关键字的值

    3、做好分析之后再开始编写程序。

    目前进展:微博指数现在是放在我们的服务器上供我们使用。其中还需要编写api(会用到flask,redis等库,不展开讲)

    相关文章

      网友评论

        本文标题:爬虫实战——三大指数之微博指数(上)

        本文链接:https://www.haomeiwen.com/subject/ztgxjxtx.html