1

这个问题与实际代码关系不大,更多的是与底层方法有关。

在我的假实习期间,我的“老板”要求我给他写一个脚本,该脚本将从用户的推文中抓取链接列表(该列表每周出现一次,并且始终是同一用户),然后将所述列表发布到该公司的 Tumblr 帐户。

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

这是一种明智的做法吗?到目前为止,在计划中,我只能获取 Twitter 帖子,但我已经在使用 API 获取帖子或仅获取他们提供的提要并尝试解析它之间陷入困境。我知道这并不是一个真正的大项目,但它肯定是我开始的最大的项目,所以当我做出决定时,我害怕得瘫痪!

4

2 回答 2

1

你的方法似乎是合适的。

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

您可能还想跟踪从 twitter 获取的最后一个推文 ID,以便您可以继续从该推文 ID 中提取。

于 2010-08-10T03:15:22.480 回答
1

根据您的描述,您没有理由不能在一个脚本中完成所有操作,除非有充分的理由在两个脚本之间传输数据,否则这会简化事情。在你手动打开连接之前,有为 Tumblr 和 Twitter 编写的多种语言的库,可以让你的工作更轻松。您绝对不应该尝试解析 RSS 提要 - 它们提供 API 是有原因的。*

我个人会使用 Python,因为它可以快速启动和运行,并且有很好的库来处理这些事情。但是,如果您不熟悉,也有可用于 Ruby 或 Perl 的库(PHP 较少)。只是谷歌“{platform} library {language}” - 快速搜索给了我python-tumblrWWW:Tumblrruby​​-tumblr,以及python-twitterNet::Twitter和一个 Ruby gem“ twitter ”。

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

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

*这里唯一可能的复杂情况是,如果您需要对 Twitter 进行身份验证——我认为你不需要,如果你只是获得用户时间线——他们将很快停止基本身份验证,所以你必须设置建立一个 OAuth 帐户(请参阅 dev.twitter.com 上的“什么是 OAuth” )。这不是一个真正的问题,但会使事情变得更复杂一些。API 应该仍然比解析 RSS 提要更容易。

于 2010-08-10T22:05:33.037 回答