`
随意而生
  • 浏览: 10409 次
  • 性别: Icon_minigender_1
  • 来自: 湘潭
社区版块
存档分类
最新评论

新浪微博爬虫模拟登陆

阅读更多

转载自:http://hi.baidu.com/erliang20088/item/251db4b040b8ce58ba0e1235

 

 

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

     现行版的模拟登陆与以前相比,最大的改动在于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了。

 

 

分享到:
评论

相关推荐

    Python 新浪微博爬虫,支持模拟登陆,微博文字另存为本地文件.zip

    Python爬虫源码大放送:抓取数据,轻松搞定! 想轻松抓取网站数据,却苦于技术门槛太高?别担心,这些源码将助你轻松搞定数据抓取,让你成为网络世界的“数据侠盗”。 它们还具有超强的实用价值。无论你是想要分析...

    python模拟登陆新浪微博

    用python实现了新浪微博的模拟登陆,新浪微博各种加密,各种跳转,详细分析登陆过程并实现!

    python模拟新浪微博登陆功能(新浪微博爬虫)

    if __name__ == ‘__main__’: weiboLogin = WeiboLogin(‘×××@gmail.com’, ‘××××’)#邮箱(账号)、密码 if weiboLogin.Login() == True: print “登陆成功!” 前两个import是加载Python的网络编程...

    JAVA网络爬虫实战视频教程

    ┃ ┃ ┃ ┃ ┣━新浪微博-模拟登陆-SinaWeiBoCookie.zip ┃ ┃ ┃ ┃ ┣━模拟登陆-专题 ┃ ┃ ┃ ┃ ┃ ┣━天涯论坛.zip ┃ ┃ ┃ ┃ ┣━漫爬型网络爬虫#.zip ┃ ┃ ┃ ┃ ┣━网络爬虫-专题 ┃ ┃ ┃ ┃ ┃ ┣...

    java模拟浏览器登陆新浪微博爬取用户信息

    java模拟浏览器登陆新浪微博爬取用户信息 新建java工程把包导入即可,仅供参考

    爬虫练习:新浪微博用户数据爬取、模拟知乎登陆.zip

    遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施...

    python使用rsa加密算法模块模拟新浪微博登录

    通过爬虫获取新浪微博数据,模拟登录是必不可少的。 1、在提交POST请求之前,需要GET获取四个参数(servertime,nonce,pubkey和rsakv),不是之前提到的只是获取简单的servertime,nonce,这里主要是由于js对用户名...

    新浪爬虫.zip

    模拟登陆后保存cookie,实现登录状态的保存。可以通过输入关键词来爬取到关键词相关的热门微博。 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续...

    sina_weibo_crawler:利用urllib2加beautifulsoup爬取新浪微博

    sina_weibo_crawler基于urlib2及beautifulSoup实现的微博爬虫系统。数据库采用mongodb,原始关系以txt文件存储,原始内容以csv形式存储,后期直接插入mongodb数据库功能:* weibo登陆,原始登陆机制采用模拟登陆,...

    python模拟爬虫抓取网页内容 采集网页.rar

    python爬虫模拟抓取网页内容,采集网页的内容,这里主要是模拟抓取新浪微博中的内容,里面包括了[源码] 爬取客户端微博信息、[源码] 爬取移动端个人信息 关注id和粉丝id (速度慢)、[源码] 爬取移动端微博信息 (强推)...

Global site tag (gtag.js) - Google Analytics