如何使用Posterous API“搜索”我自己的网站以获取贡献者信息,日期信息和响应信息

时间:2011-09-29 23:44:45

标签: python api posterous

作为STEM的大学教师,我喜欢使用技术来提升学生的学习体验,而且当我允许我将它们介绍给酷科技时,我更喜欢它。

去年,我有一些课程向Posterous网站(http://spectrawiki.posterous.com)发帖,并在其他人的帖子上发表评论。这是课程所必需的,我一直在跟踪课堂活动。

我希望我可以下载网站内容,以便为我提供我需要的数据(发布时间,发布时间,以及发布文章或评论),但Posterous没有此功能。一个非常敏感的Posterous Tech建议我查看API。

但我不是编码员。我对编码(HTML,PHP,matlab,python,R,Mathematica)足够了解,以尊重那些真正知道自己在做什么的人。

所以我问Stack Overflow社区:我怎么能用API来组合一些东西(例如python脚本)来获取我正在寻找的数据(如上所列)?是否有任何教程可以引导我完成构建脚本的步骤?我之前从未使用过API,所以我真的不知道从哪里开始。

提前感谢任何指示。

[编辑] 例如:Posterous API参考有一个这样的例子

 curl -X PUT --user you@example.com:password -d "api_token=<your token>" -d "post[title]=New Title" http://posterous.com/api/2/sites/12345/posts/6789

当它谈到API是RESTful时。如何修改此curl命令以返回有关 my Posterous网站的某些类型的信息?我可以(可能)处理身份验证标志和令牌标志。但是使用其他标志,我可以使用指针。

1 个答案:

答案 0 :(得分:2)

后续行动,2012年12月5日:看起来像是邪恶不再有效。我的脚本失败,而且pyposterous无法通过自己的单元测试。长号。

====

事实上,Pyposterous确实给了我回答我问题的工具,所以我想我会在这里为别人分享。这是我写的脚本:

import datetime
import pyposterous
from pyposterous import Cursor

api = pyposterous.API(username='[username]', password='[passwd]')

d=datetime.datetime.today().strftime("%y%B%d-%H%M")
filename = 'report-posts-' + str(d) +'.txt' 
log=open(filename,'w')

for post in Cursor(method=api.read_posts, start_page=1, parameters={'hostname':'spectrawiki'}):
    try:
        print >> log,  "--------------------"
        print >> log, "%s, %s, %s" % (post.author, post.date, post.title)
    except AttributeError:
        pass # No comments
    except UnicodeEncodeError:
        pass

这是一个粗略的脚本,但它完成了基本的工作。