`
随意而生
  • 浏览: 10631 次
  • 性别: 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了。

 

 

分享到:
评论

相关推荐

    新浪微博模拟登陆

    【标题】:“新浪微博模拟登陆” 在信息技术领域,模拟登录是一种常见的技术手段,它允许开发者通过编程方式自动登录网站并执行一些操作,例如抓取数据。本主题聚焦于使用Java实现对新浪微博的模拟登录,这对于数据...

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

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

    python模拟登陆新浪微博

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

    模拟登陆新浪微博

    在这个场景中,我们关注的是如何使用HTTPClient 4库来模拟登录新浪微博。首先,我们需要理解HTTPClient库的基本概念。 HTTPClient是一个强大的Java库,用于处理HTTP请求和响应。它提供了丰富的功能,包括支持HTTPS...

    python新浪微博数据分布式挖掘

    本项目专注于利用Python对新浪微博数据进行分布式挖掘,涉及的关键知识点包括微博接口调用、分布式爬虫构建、Hadoop Streaming的使用以及数据的可视化。 一、**新浪微博接口之调用** 1. **环境准备**:首先需要...

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

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

    基于Python的新浪微博用户数据获取技术.pdf

    本文所述的基于Python的新浪微博爬虫系统,能够高效、稳定地抓取微博用户数据,克服了微博反爬虫机制,提供了新的社交媒体数据获取方法,具有重要的研究价值和实际应用前景。 #### 9. 关键技术词汇解释 - **反爬虫...

    JAVA网络爬虫实战视频教程

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

    新浪,腾讯微博HttpClient4模拟登陆

    首先,我们来看`Sina.java`,这是用于模拟登录新浪微博的代码。在新浪微博的模拟登录过程中,主要涉及到以下几个关键步骤: 1. **创建HttpClient实例**:HttpClient是整个模拟登录的核心,通过`HttpClientBuilder`...

    sina微博模拟登陆java源码

    对于“sina微博模拟登陆java源码”这个项目,我们主要关注以下几个关键知识点: 1. **微博模拟登陆**:模拟登录是指通过编程方式复现用户在浏览器上登录网站的过程。在新浪微博的情况下,由于其安全机制,登录过程...

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

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

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

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

    基于urlib2及beautifulSoup实现的微博爬虫系统

    * weibo登陆,原始登陆机制采用模拟登陆,直接用PIL库调出验证码后,人工输入后,将相关参数编码到urllib2中,产生请求,后期采用cookie登陆, 免去了一系列麻烦。 * 爬取推送内容,推送内容主要包括用户发送的...

    基于urlib2及beautifulSoup实现的微博爬虫系统.zip

    * weibo登陆,原始登陆机制采用模拟登陆,直接用PIL库调出验证码后,人工输入后,将相关参数编码到urllib2中,产生请求,后期采用cookie登陆, 免去了一系列麻烦。 * 爬取推送内容,推送内容主要包括用户发送的...

    新浪微博,微信,知乎,头条爬虫,支持新浪登录打码获取cookie实现登录.zip

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

    java实现新浪微博抓取关注和粉丝的课程设计报告

    1. **HttpClient模拟登陆无法获取Cookie** - 解决方案:通过分析新浪的加密算法,并使用第三方工具如HTTPFox来捕获加密过程中的JS脚本,成功获取Cookie。 2. **通过HttpMethod请求网址之后返回内容出现乱码** - ...

    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