利用新浪微博API的Search接口做微博锐推榜

郑昀 20100929

 

应用入口:http://t.rtmeme.com/

简单介绍下我们这个榜单与新浪自己的热门转发榜区别:

微博锐推榜 将无视明星推名人推,更关注草根推,更关注社会民生推,屏蔽无营养推。

微博锐推榜 将聚合以新浪微博为首的国内各大微博网站的热门转发消息。

 

 

1、新浪的接口

新浪微博的API提供了Search方法,如它的文档所示:

URL:
http://api.t.sina.com.cn/search.json
格式:
仅支持json 
GET
是否需要登录:
true
请求数限制:
true
请求参数:
page: 选填参数,页码(从1开始, 默认1)
rpp:选填参数,每页返回的微博数,默认返回10条,最大200

虽然它称“需要登录”,但实际上只要传入AppKey即可,无需登录,无需OAuth,当然不排除以后新浪强制要求都OAuth登录,不过Twitter至今也没对Search接口做如此要求。

 

 

2、只抓转贴

我们只需要新浪微博里的转贴记录。

 

计算新浪微博锐推榜,与Twitter锐推榜相同之处:

  • 都是只针对原帖正文做信息指纹提取;
  • 上榜时只保留原帖内容和作者。

 

Twitter锐推榜不同之处在于:

  • 不需要保存所有转发者的转发文字(因为多半都是类似于“转发微博”这样的废话,没有必要大量存储),只需保存这些人的个人信息即可,如头像、ScreenName、Location等。
  • 重要的是,知道最近几小时内有多少人转发即可,当要计算某条消息是否可以上榜时,将更进一步获取它的转发数和评论数。因为很古老的消息也会再次掀起转发高潮,所以鉴别原始消息发布时间很重要。
  • 保存原消息缩略图、大图等多媒体信息。

 

3、榜单计算办法

默认存储的都是原始消息的数据(正文、作者、头像、缩略图、信息指纹),扫描到的转发者仅记录名称、头像、id。

定时统计最近4小时内信息指纹出现次数,如果次数足够多,比如5次,那么尝试获取(先数据库,后API)原始消息的转发数和评论数,如果转发数足够大,如大于40次,评论数又小于转发数,则准备上榜,做上榜前最后机器审核。

 

为了保持榜单的高质量,必须制定以下规则:

1、屏蔽某些原作者和转贴者的ID;

2、屏蔽某些关键词;

3、重点阻止娱乐界明星上推;

4、要求消息正文提取的标签数必须大于2,以此阻止无营养或过短的消息上榜;

5、屏蔽并尽可能识别那些刷屏聊天的,比如忽略那些转发者和原作者是同一个人的;

6、重点屏蔽星座推、生日推、节日推、找人推;

7、转发的原帖发布时间必须是最近N小时内的,防止老推翻新;

8、屏蔽某些垃圾信息源,比如:书签、分享、56.com、优酷、土豆网、关联博客等等;

9、屏蔽那些职业转贴人,比如XX语录,XX冷笑话等等。

10、原始消息中“@”“#”等字符过多,也必须屏蔽;

 

4、表结构

原始资讯都存储在 MongoDB 。榜单则存储在 MySql ,方便Web访问。

 

5、频率

由于新浪微博对Search接口的轮询频率有要求,比如每小时1000次,所以我们要尽量避免轮询过快。

统计上榜消息时,会调用新浪微博API的counts接口,也要注意调用频率。

 

微博锐推榜应用网址:

http://t.rtmeme.com/

[完]

时间: 2024-09-17 03:47:24

利用新浪微博API的Search接口做微博锐推榜的相关文章

授权-ios 新浪微博API 如何获取指定人微博列表 不登陆

问题描述 ios 新浪微博API 如何获取指定人微博列表 不登陆 我有个需求是获取 新浪微博指定人的博客信息 不登陆情况下 已查阅新浪微博API,由于对他的这个授权和登陆的意思有点不太明白,所以也不知道用哪个接口做这个事,或者能不能做这个事

使用新浪微博API的OAuth认证发布微博实例_php实例

继续前面的文章<新浪微博OAuth认证和储存的主要过程详解>,现在我们就使用它来发布微博. 我们已经将用户新浪微博的oauth_token和oauth_secret保存到 $_SESSION['oauth_token']=$result['oauth_token']; $_SESSION['oauth_secret']=$result['oauth_secret']; 里面,现在要做的就很简单了··就是调用sinaOauth的类进行发布.. 代码如下: //Statuses/update $c

使用新浪微博API的OAuth认证发布微博实例

 继续前面的文章<新浪微博OAuth认证和储存的主要过程详解>,现在我们就使用它来发布微博. 我们已经将用户新浪微博的oauth_token和oauth_secret保存到 $_SESSION['oauth_token']=$result['oauth_token']; $_SESSION['oauth_secret']=$result['oauth_secret']; 里面,现在要做的就很简单了··就是调用sinaOauth的类进行发布.. 代码如下: ? 1 2 3 4 5 6 7 8 9

新浪微博api 调用-怎么调用新浪微博API开放接口发图片微博

问题描述 怎么调用新浪微博API开放接口发图片微博 我的代码如下,发文字的可以,发图片微博却不行,怎么总是返回400,求解答,他要求图片需要传入binary类型 string url = "https://upload.api.weibo.com/2/statuses/upload.json"; string usernamePassword = UserName + ":" + PassWord; string t_news = string.Format(&qu

Java使用新浪微博API开发微博应用的基本方法_java

新浪微博API现在运用比较广泛,做一个完整的开发流程Demo 1.第一步注册,就不多说了,注册帐号以及成为开发者帐号,这步操作不会的话请你马上砸掉电脑拔掉网线回家种田. 2.第二步创建应用,开发者帐号创建好了,打开新浪微博开发平台: http://open.weibo.com    上面菜单栏点击最后一个 管理中心 如果是web的应用的话选择创建网站接入的应用,然后根据新浪微博的要求balabalabala自己去搞定   应用创建完毕.点击应用跳转页面,点击查看应用参数,可以看到应用的相关参数,

新浪微博api 调用-如何调用新浪API对其微博数据进行挖掘分析

问题描述 如何调用新浪API对其微博数据进行挖掘分析 各位大神,菜鸟目前正在进行微博数据挖掘分析的相关项目,刚开始没多久,在此想请教各位,如何在SQL等数据库软件上调用新浪微博API,我已经在新浪微博平台,并下载了相关的SDK包,调用所必需的 app secret,回调地址等都已经有了,现在就是不知道如何在数据库软件上调用数据的具体操作,是通过平台给出的那些接口吗?具体问题如下: 1,如何获取微博内的数据: 2,新浪平台提供的那些接口怎么使用.(PS:关于数据挖掘的算法分析这些以后会逐步解决,现

大神帮帮忙,我有一个企业后台需要使用新浪微博api接口,这种企业后台可以通过审核么?

问题描述 各位大神,我正在做一个企业后台,这个后台希望可以使用新浪微博api接口,只需要获取到获取最新的公共微博和获取@当前用户的最新微博就可以.可能只会有一个新浪微博账号来登录我这个企业后台,这样的需求可以可以不在新浪微博管理中心新建网站应用?如果一定要新建网站应用的话,这种企业后台的网站能否通过新浪微博的审核呢?如果通不过审核的话,那我这个网站应用是否会因为长时间没有申请审核或审核未通过而被新浪微博删除呢?请各种大神帮帮忙指点一下啊啊....

邮箱-求高手调用新浪微博API让我的微博得到更好的展示

问题描述 求高手调用新浪微博API让我的微博得到更好的展示 求高手调用新浪微博API让我的微博得到更好的展示,接受付费.加微信18130209097 邮箱可以联系 zhuyanhong91@163.com.多谢 解决方案 新浪微博API简单调用新浪微博 接口API

新浪微博api接口调用获取用户信息

问题描述 新浪微博api接口调用获取用户信息 在仿安卓的新浪微博,我调用搜索用户的API,得到用户的uId,再想调用userAPI获取某个用户的基本信息.提示"用户不存在". 请问,不能这样调用接口吗?应该如何获得某个用户的信息? 解决方案 android新浪微博调用用户微博接口 解决方案二: 是不是你少了某些参数呀?