新浪微博爬虫模拟登陆-最新版-2014-01-14

近来由于毕设需要,重新修改了新浪微博爬虫废了不少劲,希望下边的总结能够帮助后来的同学们。

     现行版的模拟登陆与以前相比,最大的改动在于cookie获取时候的模拟url的请求过程,其难点之一的密码加密并没有任何改动,因为此次的改动主要是重新理顺它的cookie获取过程中的几个url请求的节点。

     一、url请求流

        1、“http://www.weibo.com”,获取login_sid_t,uug等两个参数,在放入后续的请求cookie中。

        2、“HttpGet hg = new HttpGet(
    "http://login.sina.com.cn/sso/prelogin.php?entry=weibo&callback=sinaSSOController.preloginCallBack&su=&rsakt=mod&checkpin=1&client=ssologin.js(v1.4.11)&_="
      + (new Date()).getTime());”,即预登陆请求,获得serverTime,nonce,pubkey,rsaKV等参数,在加密和真正登陆时用。

      3、http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.11),开始真正的登陆,包括10几个参数,最关键的是加密参数。

      4、http://www.weibo.com/sso/login.php?ssosavestate=1392288155&url=http%3A%2F%2Fwww.weibo.com%2Fajaxlogin.php%3Fframelogin%3D1%26callback%3Dparent.sinaSSOController.feedBackUrlCallBack%26sudaref%3Dwww.weibo.com&ticket=ST-MjUxODM4ODMyMQ==-1389696155-xd-6F76C7CD412A0CEBEFA60811A545895B&retcode=0,这是在上个请求中得到的content的中得到的转向。

      5、“http://www.weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack&sudaref=www.weibo.com”,得到上个请求中的cookies,加入该次请求中,得到此次的cookies,即可作为模拟抓取的cookies值。

 

二、在1、2、...5的5个请求中,需要抓包,分析每个cookies设置中的特殊之处,需要个人去分析一下,关键是要看懂第一大步。

      在4、5之间的转向很关键,如果用httpclient的自动转向会丢失cookie导致最后得到的cookie看上去是对的,其实是非法不对的。

故需要在4、5之间改成手动设置重定向之后的cookie设置,在此处我废了很大劲,以为httpclient会自动加载重定向前的cookie了。

 

试试吧,希望同学们早日搞定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值