将Twitter列表转储到Tumblr

问题描述:

此问题与实际代码较少有关,更多与底层方法有关。将Twitter列表转储到Tumblr

我在我的假期配备管理中的'老板'要求我给他写一个脚本,用于清除用户推文链接列表(该列表每周只进行一次,而且总是同一用户),然后将该列表发布到该公司的Tumblr帐户。

目前,我在考虑这个结构:基地将是一个bash脚本,首先调用一些脚本,使用Twitter API来查找给定一个hashtag并解析列表的帖子(当前候选语言为Perl,PHP和Ruby,没有特别的顺序)。然后,脚本会将解析后的列表(带有一些标记)存储到一个文本文件中,另一个使用Tumblr API的脚本将从该文件格式化列表并将其发布。

这是一个明智的方式去做到这一点?到目前为止,在规划中,我只需要获取Twitter帖子,但是我已经在使用API​​抓取帖子或仅抓取他们提供的提要并试图解析它。我知道这不是一个真正的大项目,但它肯定是我开始的最大项目,所以我在做出决定时会因为恐惧而瘫痪!

从您的描述来看,没有理由不应该能够在一个脚本中完成所有操作,除非有充分的理由在两个脚本之间传送数据,否则这将简化操作。在你手动打开连接之前,为Tumblr和Twitter的许多语言编写的库可以使你的工作更容易。你绝对不应该尝试解析RSS提要 - 他们提供一个API是有原因的。*

我个人会使用Python,因为它很快启动并运行,并且具有很棒的库。但是,如果你不熟悉这一点,也可以使用Ruby或Perl的库(PHP不如此)。只需Google“{平台}库{语言}” - 快速搜索给了我python-tumblr,WWW:Tumblrruby-tumblr以及python-twitter,Net::Twitter和Ruby宝石“twitter”。

这些库中的任何一个都可以轻松连接到Twitter,以便通过API为特定用户或hashtag下拉推文。然后,您可以逐步浏览它们,根据需要对其进行解析,然后使用Tumblr库以任何您想要的格式将它们发布到Tumblr。

可以手动操作 - 打开和阅读连接,或者更糟糕的是,屏幕抓取,但是如果你有一个好的图书馆 - 你会这样做,这样做真的没有意义 - 而且更容易出现问题,怪癖,以及不被注意的错误。正如我所说的,除非有充分理由使用中间bash脚本,否则将数据保存在一个脚本中,数组或其他数据结构中会更容易。如果你也需要一个文件,你可以在完成后用相同的脚本写下来。

*唯一可能的并发症这里是如果需要身份验证 Twitter的 - 我不认为你这样做, 如果你只是得到一个用户时间表 - 它们将被基本停止验证很快,所以您需要 必须设置一个OAuth帐户(请参阅 "What is OAuth"高于 dev.twitter.com)。这不是真的 问题,但使事情更复杂一点。该API应该仍然是 比解析RSS提要更容易。

你的方法似乎是合适的。

  • 利用user_timeline twitter api获取用户发布的所有推文。
  • 解析fetcned列表(可能使用正则表达式)从tweets中提取链接并将它们存储在外部文件中。
  • 使用tumblr写入api将这些链接发布到tumblr帐户。

您可能还想跟踪Twitter上次提取的tweet ID,以便继续从该tweet ID提取。