首页 > 其他 > 详细

零授权 抓取新浪微博任何用户的微博内容

时间:2016-08-14 14:19:09      阅读:199      评论:0      收藏:0      [点我收藏+]

一、微博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

 

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

技术分享

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

 

技术分享技术分享

技术分享

 技术分享

零授权 抓取新浪微博任何用户的微博内容

原文:http://www.cnblogs.com/RunForLove/p/5769997.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!