zoukankan      html  css  js  c++  java
  • 零授权 抓取新浪微博任何用户的微博内容

    一、微博API

      使用微博API获取数据是最简单方便,同时数据完整性高的方式,缺点是微博开发平台对于API的调用次数做了严格的限制。具体使用过程参考http://open.weibo.com/,有详细的教程,对于API次数的限制,我们是通过注册多个开发者账号来绕过,对于某个IP调用API次数的限制,暂时没办法解决。微博API是通过httpclient发起请求,返回json形式的数据。对于数据重复获取方面,也有专门的接口通过参数控制获取增量数据。优点:简单,数据完整性高,增量简单。缺点:API次数有严格限制,数据量小。

    二、抓取API数据

      可以通过Jsoup来模拟浏览器的HTTP请求,Jsoup绕过微博登陆的方法就是设置cookie,对于获取回来的HTML页面,Jsoup也可以方便的进行解析,但是微博的数据比较特殊,页面是异步加载的,通过JS函数插入到指定div内,所以是通过自己写正则或者自己想办法解析,但是由于数据是异步加载,可能有时候会失败。但是页面内微博数据的获取是正确,完整度高的。优点:可并发,无次数限制,数据完整性高。缺点:有失败可能。

      通过weibo.com/login.php 获取数据需要设置cookie,且数据是异步加载,有失败的可能,对于weibo.cn的数据是同步加载的,但是由于页面元素简单,所以数据完整度低,对于增量数据获取以及数据判断去重复方面,不容易进行。对于weibo.cn可以通过在URL请求中加入gsid参数,绕过登陆检验,比设置cookie简单些。优点:可并发,数据获取没有失败可能。

    参考博客:http://fair-jm.iteye.com/blog/2046031

    参考博客:https://segmentfault.com/a/1190000000498692

    二、通过微博跳转淘宝的免登方案大致流程图:

    分享到微博的大致流程图:

     

  • 相关阅读:
    NanoProfiler
    NanoProfiler
    Open Source Cassandra Gitbook for Developer
    Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
    Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
    Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
    Android Fragment使用(一) 基础篇 温故知新
    Set up Github Pages with Hexo, migrating from Jekyll
    EventBus源码解析 源码阅读记录
    Android M Permission 运行时权限 学习笔记
  • 原文地址:https://www.cnblogs.com/RunForLove/p/5769997.html
Copyright © 2011-2022 走看看