从Linux命令行更新Twitter和FriendFeed
加 -s 开关:
查找 FriendFeed public timeline 拥有帝国一切,皆有可能。欢迎访问phome.net 您已使用 cURL 来获得用于 Twitter 的 public timeline.现在,您想为 FriendFeed 做相同的事情.在这里,用于 public feed 的 FriendFeed API 端点是 http://friendfeed.com/api/feed/public?format=xml.但是,跟踪用于 FriendFeed 的 public feed 就像大海捞针一样,这里将范围缩小到您的朋友的 feed. 再次查看 API 文档.这需要进行一些搜索,但您要找的是 home feed,它的位置是 http://friendfeed.com/api/feed/home.当然,您验证这个 feed,并且您还签名,以便让 feed/home 知道您是谁.幸运的是,cURL 带有验证选项,从而这个过程非常简单:
但是,在 FriendFeed 中并不使用用户名和密码.相反,站点需要一个昵称和远程认证密钥.,通过 http://friendfeed.com/account/api 进入 FriendFeed 站点并获取它们.在进入该 URL 之后,就可以登录并获得昵称和远程密钥. 使用昵称和远程密钥对发出以下命令:
其中 nickname:key 是昵称和密钥. 该命令以 JavaScript Object Notation(JSON)格式返回当前的 FriendFeed.要获得 XML,添加 format 参数.这是一个 get 请求,因此可以将它添加到 URL 的末尾:
很好,不是吗?
解析输出 通过解析 Twitter feed,您知道需要用 sed 对它进行处理,以得到一个真正的、易读的结果.XML 确实易读,但是在查看结果后可以得出结论,您需要解析标记之间的所有东西.然而,这里有一个障碍.XML 并没有包含任何新的行或 CR 代码,它只不过是一个冗长的 XML 字符串. 拥有帝国一切,皆有可能。欢迎访问phome.net 那么,如何解析它呢?在这里,选择一种不同的输出格式.可用的格式有 JSON、XML、RSS 或 Atom.对于这个例子,可以选择 RSS,它是最整洁的,包含您需要的换行. 查看 RSS feed 中的结果.您需要的是标记之间的东西,用一个修改后的 sed 命令处理输出:
您得到了想要的东西!FriendFeed 中的所有条目都可以看到. 知识总结 从命令行手工运行这些命令来跟踪 feed 并不是恰当的做法. 别忘了,在站点上按 F5 键就可以完成这件的事情.,为了尽可能接近命令行,可以使用 shell 脚本将它编写成脚本.当然,也可以使用 Python、Perl 或平台上可用的任何脚本语言,但是从命令运行给这个例子能得到需要的结果. 通过创建一个命名为 lintweet 的脚本,可以将 Twitter 流编写成脚本.当然,您可以随意选择任何名称.清单 1 显示了该脚本.
每过 10 秒钟,窗口被最新的 tweet 更新.对于 Twitter,服务条款(TOS)没有限制 public feed 的频率,可以通过将 sleep 设置为 1,每过一秒钟便更新一次该设置.不过,您应该减轻服务器的压力,还是将它设置为 10.(如果坚持将 sleep 设置为 1,实际上并没有多少可以跟踪的东西,结果将是一 |
||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |