Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A demo of word translation #53

Open
hzhua opened this issue Feb 19, 2013 · 22 comments
Open

A demo of word translation #53

hzhua opened this issue Feb 19, 2013 · 22 comments

Comments

@hzhua
Copy link
Contributor

hzhua commented Feb 19, 2013

We can write a demo just like Xiaohuangji. If some one "at" the robot and send an english word, the robot can reply the Chinese meaning with the help of third party online dictionary who have an open API. It should follow these steps:

  1. Checking if someone at me,
  2. Checking if it is a word
  3. Translating the word with third party API
  4. Reply

Because I just touch this project, I don't know how to realize the first step with snsapi.
Could someone help me?

@hupili
Copy link
Owner

hupili commented Feb 20, 2013

Hi, very glad to see someone bring this up to an issue.

Are you in our Google group? If not, please join us. We had some discussion there.

@xuanqinanhai may be very interested in this project. See the thread "发个我最近的项目,寻求感兴趣的合作者" on Google group for related discussions.

@hupili
Copy link
Owner

hupili commented Feb 20, 2013

The first step can not be done directly using SNSAPI.

Generally, you can call all renren API using renren_request() exported from RenrenBase class. You can refer to the official doc for bunch of possible APIs. You can refer to other methods in renren.py to see how they invoke renren_request().

@daimajia
Copy link

It's an interesting and helpful idea.

we have discussed here (https://groups.google.com/forum/?fromgroups=#!topic/snsapi/gV5QRianDEc) .

I'm planning to write dictionary api...

[email protected]

在 2013年2月19日星期二,下午9:42,hzhua 写道:

We can write a demo just like Xiaohuangji. If some one "at" the robot and send an english word, the robot can reply the Chinese meaning with the help of third party online dictionary who have an open API. It should follow these steps:
Checking if someone at me,
Checking if it is a word
Translating the word with third party API
Reply

Because I just touch this project, I don't know how to realize the first step with snsapi.
Could someone help me?


Reply to this email directly or view it on GitHub (#53).

@hzhua
Copy link
Contributor Author

hzhua commented Feb 20, 2013

I checked the renren APIs and didn't find a method to check notifications. But I found it in sina weibo.

@daimajia
Copy link

人人有被at的api接口,不过貌似是undocument的。

认真翻一下xiaohuangji的代码就不难发现了。

先简单的读下readme,发现主要工作的是main 和 controller ,controler 很短,没发现蛛丝马迹。

而后切入main.py,很长,一行一行认真看,就发现了

https://github.com/hupili/xiaohuangji/blob/master/main.py#L82

在main.py的82行提到了notification的由来。

notifications = bot.getNotifications()

而bot是Renren的一个实例。这个在https://github.com/hupili/xiaohuangji/blob/master/README.md readme中的倒数第几行有提到

也就是说bot实际是https://github.com/hupili/xiaohuangji/blob/master/renren.py 这个文件的一个对象。

找到getNotifications() https://github.com/hupili/xiaohuangji/blob/master/renren.py#L161 方法,发现一个很奇怪的地址:
url = 'http://notify.renren.com/rmessage/get?getbybigtype=1&bigtype=1&limit=999&begin=0&view=16&random=';

不要犹豫了,这应该就是未放出的api。

如何测试呢,打开人人,登陆进去

而后在地址栏贴上:http://notify.renren.com/rmessage/get?getbybigtype=1&bigtype=1&limit=999&begin=0&view=16 点下回车,就能看到满屏幕的notifications了。

你就可以看到所有你的被@,被回复消息了,这也是小黄鸡工作起来的原因,一直在不间断的去提取这个数据,而后调用parse方法去解析json接口(解析出来的结构其实就是controller中def getNotiData(bot, data)函数的data参数),而后用正则过滤出用户回复消息,并通过simisimi,最后调用controller中的reply方法回复给用户。

@hzhua

Lin的私人邮箱

在 2013年2月20日星期三,下午10:56,hzhua 写道:

I checked the renren APIs and didn't find a method to check notifications. But I found it in sina weibo.


Reply to this email directly or view it on GitHub (#53 (comment)).

@hupili
Copy link
Owner

hupili commented Feb 21, 2013

人人有不少这样的页面接口,都是非api接口。和api相比,调用模型不一样:

  • api:用户授权,app通过key来取得服务。
  • 页面接口:需要用户帐号密码,直接模拟浏览器的请求序列。小黄鸡就是这种,有效突破quota限制。

可以类似地封装一个snsapi的plugin。一个月前demo了下面这个修改,也导出home_timeline和update方法。

https://github.com/hupili/xiaohuangji/blob/hushuo/renren.py

@daimajia
Copy link

这些非api接口,估计也是从人人桌面版客户端的抓包中提取出来的地址,而后分析得出的。

小黄鸡的renren.py感觉还是很强大的。赞

@hupili
Copy link
Owner

hupili commented Feb 21, 2013

  • @hzhua 可否先利用现在的platform做个demo,有home_timeline和reply的platform就可以。效果就是,比如好友发状态问了个单词,你就reply它了。
  • 之后我们再封装一下RenrenNotification和SinaNotification 就无缝把这个app扩展成别人可以at或者回复你问问题了。
  • 词典方案有多种,能用上 @xuanqinanhai 的开源词典就好了,求web接口。返回结构带上百字内的简单解释,和更详细解释的url。

不如大家rush一个玩下?app这边你们可以先动。开启RenrenNotification这个我可以这周末来做。之前花了4天专门跟踪小黄鸡,比较熟悉,应该能很快封装。SinaNotification在官方api有,直接仿照SinaStatus来做就好了。

@hupili
Copy link
Owner

hupili commented Feb 21, 2013

blog一篇,献丑了, http://hupili.github.com/p--20130113-chick-views/ ,这个Notification接口也是我一直想打通的,基于这个能做不少服务,更适合在开发者中推广。不过需要有人来编写和维护app。我这边是没时间了,就一直搁置。

@daimajia
Copy link

来吧! Let's rock!
我这就开工写webservice api接口,返回格式写成json的,随后附上json格式说明文档。
下午7点前写完。

Lin的私人邮箱

在 2013年2月21日星期四,上午11:34,"HU, Pili" 写道:

@hzhua (https://github.com/hzhua) 可否先利用现在的platform做个demo,有home_timeline和reply的platform就可以。效果就是,比如好友发状态问了个单词,你就reply它了。
之后我们再封装一下RenrenNotification和SinaNotification 就无缝把这个app扩展成别人可以at或者回复你问问题了。
词典方案有多种,能用上 @xuanqinanhai (https://github.com/xuanqinanhai) 的开源词典就好了,求web接口。返回结构带上百字内的简单解释,和更详细解释的url。

不如大家rush一个玩下?app这边你们可以先动。开启RenrenNotification这个我可以这周末来做。之前花了4天专门跟踪小黄鸡,比较熟悉,应该能很快封装。SinaNotification在官方api有,直接仿照SinaStatus来做就好了。


Reply to this email directly or view it on GitHub (#53 (comment)).

@daimajia
Copy link

blog写的也不错啊,将sns和搜索融合,让搜索瓜分人们sns的时间,而且使用即推广。

不过有点儿个人意见:
小黄鸡一夜间200万用户,主要跟他的趣味性有很大很大的关系,但是就怕干巴巴的搜索,而且sns有字数显示,很难给用户提供一个真正完整的答案,用户又得去亲手打开浏览器标签继续搜索。

不过确实提供了便利,但是要是能让搜索变得有趣(比如:连接上糗事百科,只要一被@,就发送本日糗事排行中的前几条),或者十分专业,(比如可以有个wikipedia的公共主页,被@,分析后回馈链接),感觉会好一点,最好能将结果精细化,而不是直接调用百度或者谷歌的链接。

Lin的私人邮箱

在 2013年2月21日星期四,上午11:37,"HU, Pili" 写道:

blog一篇,献丑了, http://hupili.github.com/p--20130113-chick-views/ ,这个Notification接口也是我一直想打通的,基于这个能做不少服务,更适合在开发者中推广。不过需要有人来编写和维护app。我这边是没时间了,就一直搁置。


Reply to this email directly or view it on GitHub (#53 (comment)).

@hupili
Copy link
Owner

hupili commented Feb 21, 2013

其实就是看各个垂搜来分市场了。不过翔文都出了一个月还没见到有效的动静,呵呵。sns的字数限制是个问题,但是不致命,满足垂直需求是足够了。简短描述加一个“more”的链接就ok了。其实你在搜索引擎上搜的时候,也就是title+白字的摘要,用户还是要点一个链接过去看正文,情况类似。

2013/2/21 xuanqinanhai [email protected]

blog写的也不错啊,将sns和搜索融合,让搜索瓜分人们sns的时间,而且使用即推广。

不过有点儿个人意见:
小黄鸡一夜间200万用户,主要跟他的趣味性有很大很大的关系,但是就怕干巴巴的搜索,而且sns有字数显示,很难给用户提供一个真正完整的答案,用户又得去亲手打开浏览器标签继续搜索。

不过确实提供了便利,但是要是能让搜索变得有趣(比如:连接上糗事百科,只要一被@,就发送本日糗事排行中的前几条),或者十分专业,(比如可以有个wikipedia的公共主页,被@,分析后回馈链接),感觉会好一点,最好能将结果精细化,而不是直接调用百度或者谷歌的链接。

Lin的私人邮箱

在 2013年2月21日星期四,上午11:37,"HU, Pili" 写道:

blog一篇,献丑了, http://hupili.github.com/p--20130113-chick-views/,这个Notification接口也是我一直想打通的,基于这个能做不少服务,更适合在开发者中推广。不过需要有人来编写和维护app。我这边是没时间了,就一直搁置。


Reply to this email directly or view it on GitHub (
#53 (comment)).


Reply to this email directly or view it on GitHubhttps://github.com//issues/53#issuecomment-13871745.

@daimajia
Copy link

我个人感觉趣味性更符合sns的风格和人们上微博,人人的,开心网的初衷。

要是我做的话,我没准会把糗事百科 (http://www.qiushibaike.com/)或者暴走漫画 (http://baozoumanhua.com/)尝试连接起来。

外带附加搜索功能,多少有点儿类似siri的人人版了。

诶 对啊! 做个siri人人版也不错啊,定闹钟,定邮件,订房,订外卖,查地图,查公交,讲笑话,发邮件。

Lin的私人邮箱

在 2013年2月21日星期四,上午11:59,"HU, Pili" 写道:

其实就是看各个垂搜来分市场了。不过翔文都出了一个月还没见到有效的动静,呵呵。sns的字数限制是个问题,但是不致命,满足垂直需求是足够了。简短描述加一个“more”的链接就ok了。其实你在搜索引擎上搜的时候,也就是title+白字的摘要,用户还是要点一个链接过去看正文,情况类似。

2013/2/21 xuanqinanhai <[email protected] (mailto:[email protected])>

blog写的也不错啊,将sns和搜索融合,让搜索瓜分人们sns的时间,而且使用即推广。

不过有点儿个人意见:
小黄鸡一夜间200万用户,主要跟他的趣味性有很大很大的关系,但是就怕干巴巴的搜索,而且sns有字数显示,很难给用户提供一个真正完整的答案,用户又得去亲手打开浏览器标签继续搜索。

不过确实提供了便利,但是要是能让搜索变得有趣(比如:连接上糗事百科,只要一被@,就发送本日糗事排行中的前几条),或者十分专业,(比如可以有个wikipedia的公共主页,被@,分析后回馈链接),感觉会好一点,最好能将结果精细化,而不是直接调用百度或者谷歌的链接。

Lin的私人邮箱

在 2013年2月21日星期四,上午11:37,"HU, Pili" 写道:

blog一篇,献丑了, http://hupili.github.com/p--20130113-chick-views/,这个Notification接口也是我一直想打通的,基于这个能做不少服务,更适合在开发者中推广。不过需要有人来编写和维护app。我这边是没时间了,就一直搁置。


Reply to this email directly or view it on GitHub (
#53 (comment)).


Reply to this email directly or view it on GitHubhttps://github.com//issues/53#issuecomment-13871745.


Reply to this email directly or view it on GitHub (#53 (comment)).

@daimajia
Copy link

而且商机很多啊,订外卖可以和校外餐饮合作的,宅男腐女上人人一@ + 想吃的东西 即可完成订单,电话都不用打。

Lin的私人邮箱

在 2013年2月21日星期四,上午11:59,"HU, Pili" 写道:

其实就是看各个垂搜来分市场了。不过翔文都出了一个月还没见到有效的动静,呵呵。sns的字数限制是个问题,但是不致命,满足垂直需求是足够了。简短描述加一个“more”的链接就ok了。其实你在搜索引擎上搜的时候,也就是title+白字的摘要,用户还是要点一个链接过去看正文,情况类似。

2013/2/21 xuanqinanhai <[email protected] (mailto:[email protected])>

blog写的也不错啊,将sns和搜索融合,让搜索瓜分人们sns的时间,而且使用即推广。

不过有点儿个人意见:
小黄鸡一夜间200万用户,主要跟他的趣味性有很大很大的关系,但是就怕干巴巴的搜索,而且sns有字数显示,很难给用户提供一个真正完整的答案,用户又得去亲手打开浏览器标签继续搜索。

不过确实提供了便利,但是要是能让搜索变得有趣(比如:连接上糗事百科,只要一被@,就发送本日糗事排行中的前几条),或者十分专业,(比如可以有个wikipedia的公共主页,被@,分析后回馈链接),感觉会好一点,最好能将结果精细化,而不是直接调用百度或者谷歌的链接。

Lin的私人邮箱

在 2013年2月21日星期四,上午11:37,"HU, Pili" 写道:

blog一篇,献丑了, http://hupili.github.com/p--20130113-chick-views/,这个Notification接口也是我一直想打通的,基于这个能做不少服务,更适合在开发者中推广。不过需要有人来编写和维护app。我这边是没时间了,就一直搁置。


Reply to this email directly or view it on GitHub (
#53 (comment)).


Reply to this email directly or view it on GitHubhttps://github.com//issues/53#issuecomment-13871745.


Reply to this email directly or view it on GitHub (#53 (comment)).

@hzhua
Copy link
Contributor Author

hzhua commented Feb 21, 2013

有道词典有开放的API,实现起来比较方便。
不过我未来3天要在火车上。要下周才能开始动工。

@daimajia
Copy link

有道词典的是翻译api,不提供字典释义api。必须得登陆网站才能看释义。

我要做的是释义api,而且无配额。@hzhua

Lin的私人邮箱

在 2013年2月21日星期四,下午12:18,hzhua 写道:

有道词典有开放的API,实现起来比较方便。
不过我未来3天要在火车上。要下周才能开始动工。


Reply to this email directly or view it on GitHub (#53 (comment)).

@hzhua
Copy link
Contributor Author

hzhua commented Feb 21, 2013

http://fanyi.youdao.com/openapi?path=data-mode
在这里 有道提供了字典的API的例子。它返回的是翻译和字典。

show({
"errorCode":0
"query":"API",
"translation":["API"], // 有道翻译
"basic":{ // 有道词典-基本词典
"explains":[
"abbr. 应用程序界面(Application Program Interface);..."
]
},
"web":[ // 有道词典-网络释义
{
"key":"API",
"value":["应用程序接口(Application Programming Interface)","应用编程接口","应用程序编程接口","美国石油协会"]
},
{...}
]
});

@daimajia
Copy link

看那个页面的下面:

使用API key 时,请求频率限制为每小时1000次,超过限制会被封禁。
如果您的应用确实需要超过每小时1000次请求,请与 [email protected] (mailto:[email protected]) 联系。 并提供您的应用的详细信息(名称、功能、网站地址、使用API的方式、API key、预计访问频率、是否商业行为、截屏等等) 以及该应用访问有道翻译API时所使用的服务器IP,审核通过后可放宽访问限制。

1、得申请key。
2、有每小时1000次的限制。

我很快会给大家做一个专业的词典释义api,以及无配额限制的接口。 利用我做的小熊词典 http://dic.zhan-dui.com

Lin的私人邮箱

在 2013年2月21日星期四,下午12:24,hzhua 写道:

http://fanyi.youdao.com/openapi?path=data-mode
在这里 有道提供了字典的API的例子。它返回的是翻译和字典。
show({
"errorCode":0
"query":"API",
"translation":["API"], // 有道翻译
"basic":{ // 有道词典-基本词典
"explains":[
"abbr. 应用程序界面(Application Program Interface);..."
]
},
"web":[ // 有道词典-网络释义
{
"key":"API",
"value":["应用程序接口(Application Programming Interface)","应用编程接口","应用程序编程接口","美国石油协会"]
},
{...}
]
});


Reply to this email directly or view it on GitHub (#53 (comment)).

@daimajia
Copy link

ps:而且查不了音标,有道的是以翻译为主。而不是词义。

Lin的私人邮箱

在 2013年2月21日星期四,下午12:24,hzhua 写道:

http://fanyi.youdao.com/openapi?path=data-mode
在这里 有道提供了字典的API的例子。它返回的是翻译和字典。
show({
"errorCode":0
"query":"API",
"translation":["API"], // 有道翻译
"basic":{ // 有道词典-基本词典
"explains":[
"abbr. 应用程序界面(Application Program Interface);..."
]
},
"web":[ // 有道词典-网络释义
{
"key":"API",
"value":["应用程序接口(Application Programming Interface)","应用编程接口","应用程序编程接口","美国石油协会"]
},
{...}
]
});


Reply to this email directly or view it on GitHub (#53 (comment)).

@hzhua
Copy link
Contributor Author

hzhua commented Feb 21, 2013

词典的版权问题呢?
当年的星际译王以为版权问题走到了尽头

在 2013年2月21日下午12:29,xuanqinanhai [email protected]写道:

ps:而且查不了音标,有道的是以翻译为主。而不是词义。

Lin的私人邮箱

在 2013年2月21日星期四,下午12:24,hzhua 写道:

http://fanyi.youdao.com/openapi?path=data-mode
在这里 有道提供了字典的API的例子。它返回的是翻译和字典。
show({
"errorCode":0
"query":"API",
"translation":["API"], // 有道翻译
"basic":{ // 有道词典-基本词典
"explains":[
"abbr. 应用程序界面(Application Program Interface);..."
]
},
"web":[ // 有道词典-网络释义
{
"key":"API",
"value":["应用程序接口(Application Programming
Interface)","应用编程接口","应用程序编程接口","美国石油协会"]
},
{...}
]
});


Reply to this email directly or view it on GitHub (
#53 (comment)).


Reply to this email directly or view it on GitHubhttps://github.com//issues/53#issuecomment-13872638.

@daimajia
Copy link

这个我也不知道怎么办。

Lin的私人邮箱

在 2013年2月21日星期四,下午12:41,hzhua 写道:

词典的版权问题呢?
当年的星际译王以为版权问题走到了尽头

在 2013年2月21日下午12:29,xuanqinanhai <[email protected] (mailto:[email protected])>写道:

ps:而且查不了音标,有道的是以翻译为主。而不是词义。

Lin的私人邮箱

在 2013年2月21日星期四,下午12:24,hzhua 写道:

http://fanyi.youdao.com/openapi?path=data-mode
在这里 有道提供了字典的API的例子。它返回的是翻译和字典。
show({
"errorCode":0
"query":"API",
"translation":["API"], // 有道翻译
"basic":{ // 有道词典-基本词典
"explains":[
"abbr. 应用程序界面(Application Program Interface);..."
]
},
"web":[ // 有道词典-网络释义
{
"key":"API",
"value":["应用程序接口(Application Programming
Interface)","应用编程接口","应用程序编程接口","美国石油协会"]
},
{...}
]
});


Reply to this email directly or view it on GitHub (
#53 (comment)).


Reply to this email directly or view it on GitHubhttps://github.com//issues/53#issuecomment-13872638.


Reply to this email directly or view it on GitHub (#53 (comment)).

@hupili
Copy link
Owner

hupili commented Feb 27, 2013

Half done RenrenNotification platform is pushed to the new branch,

https://github.com/hupili/snsapi/tree/renren-notification

Can not be used at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants