如何批量重命名Tumblr标签?

时间:2012-11-10 22:38:17

标签: api tags tumblr

我已经标记了超过700篇包含连字符的标签的博客帖子,这些标签在2011年突然停止工作,因为Tumblr决定(没有任何通知)禁止标签中的连字符(我猜连字符现在被阻止,因为标签中的空格(这是允许的)变成连字符。)。不幸的是,Tumblr不愿意全局重命名包含连字符的所有标签(尽管这些标签 no 不再使用→404)。

现在我想自己重命名我的标签。

我尝试使用“大量帖子编辑器”(tumblr.com/mega-editor)来做,但是无法按标签选择帖子。我必须在发布后手动选择帖子并查看是否使用了某个标签,如果是,请删除它并添加新标签。这将是一项巨大的工作(700个标记的帖子,但总共超过1000个。)

所以我认为Tumblr API可能会帮助我。我不是程序员,但我愿意深入研究它,如果我能在这里得到一些帮助作为起点。

我想我需要以下过程:

  1. 选择所有标有x的帖子(=包含连字符的标签)
  2. 使用y标记所有这些帖子(=不带连字符的标记)
  3. 删除所有这些帖子上的标记x
  4. 我会手动为每个受影响的标签启动此过程。


    我看到方法(或你称之为的任何方法)/post知道请求参数tag

      

    限制对具有指定标记的帖子的响应

    (我想我只能希望这适用于包含连字符的标签。)

    之后,我需要一种方法来添加和删除该结果集中的标签。 /post/edit对标签没有任何说明。我错过了什么?是否可以使用API​​添加/删除标签?


    您是否知道如何“轻松”重命名我的代码?

    API可以吗?你能给我一个起点,小费等我怎么设法做到这一点?


    我不知道这是否有用,但我注意到搜索功能仍然能够找到包含连字符的标签“标记”的帖子。

    示例:假设我有标记foo-bar。它与/tagged/foo-bar(→404)相关联。我可以找到/search/foo-bar的帖子(但这当然不太理想,因为它也可能会找到包含(在正文中)类似于标签名称的字词的帖子。

    我试图对连字符(/tagged/foo%2Dbar)进行编码,但没有运气。

2 个答案:

答案 0 :(得分:4)

仅供记录,因为这是一个流行的谷歌搜索:我已经做到了!你可以在http://dev.goose.im/tags/使用它。

我使用了PHP和jquery的组合,将我的jquery基于我在一两年前写过的前一个tumblr api脚本,并使用this tumblr php oauth script进行身份验证。如果有人要我提出源代码,我会很高兴。

答案 1 :(得分:1)

如果您不是程序员,您的时间对您来说有多少价值?正如他们所说,时间就是金钱。您不仅要弄清楚如何使用API​​,还要选择一种语言并学会在其中书写。这不是一项小任务。你可以以每小时50美元的价格成为一名自由职业者。

要回答您的问题,是的,可以使用API​​执行此操作。它提到“这些参数用于/ post,/ post / edit和/ post / reblog方法。”并且tags被提及为一串逗号分隔的单词。

您要做的是使用/posts方法获取每篇博文的列表。您需要查看“请求”部分,以确定传递给此URL的条件。您希望它尽可能通用,以获得所有帖子的完整列表。

获得帖子列表后,您需要对其进行迭代,并修改每个帖子的响应中提供的tags参数。您需要将id参数与/post/edit一起使用,再次将tags作为字符串。

您可以用于此任务的最简单的语言是PHP。您需要查看curl extension来提出请求。您需要阅读arrays,因为您将大量使用它们。您还需要查看explodeimplodestr_replace(对于破折号)和foreach来迭代结果。

当你这样做时,我强烈建议你在foreach循环结束时使用break,这样它最初只影响一个帖子。首先进行测试非常重要,因为您不希望意外删除标签/帖子。 printvar_dump是帮助您调试代码的好方法。 xdebug是一个很好的扩展,它允许您在运行时逐行遍历代码。 Netbeans是一个具有良好xdebug支持的IDE。

还有一个很好的page here可以让你开始使用PHP。您需要在您的计算机上安装PHP。您不需要安装Web服务器 - 对于这个PHP-CLI(命令行),sapi已经足够了。