有没有办法查看我所有不是reblog的Tumblr帖子?


11

我的Tumblr帐户中有7000多个帖子。他们中的绝大多数是“博客”,其余的是我上传的帖子(图像或文本)。有没有办法以某种方式查看这些特定帖子?一种方法是,如果我在这些帖子中使用了某个标签,但没有使用。重述我的问题:是否可以查看所有以我的帐户为来源的Tumblr帖子?

Answers:


4

我是@oneqeightyfour的答案中链接的脚本的作者。因此,尽管我参加聚会有点晚,但是这里是您可以使用的脚本的修改版本。

我确实找到了一个声称也可以做到这一点的一键式网站,但是我无法使其正常工作。您可能想先尝试一下?


步骤1:获取Tumblr API密钥

从编程的角度来看,使用API​​比尝试抓取站点要简单得多。此外,Tumblr条款和条件会令您不通过API批量访问数据而烦恼。

要获取您的API密钥:

  1. 确保您已登录Tumblr
  2. 转到其OAuth注册页面
  3. 选择“注册应用程序”,然后使用以下详细信息:

    • 申请名称:查找我所有的原始帖子
    • 应用说明:查找网站上的所有原始帖子;也就是说,不是网志的文章
    • 默认回调网址: /
  4. 这将带您返回第一页。系统会为您显示OAuth使用方密钥。复制它-我们将很快使用它。

步骤2:设定指令码

这是我的脚本的轻率修改版本。将其复制并粘贴到文本编辑器(例如TextEdit或Notepad)中,然后另存为originals.py

您应该将HOSTNAME变量替换为博客的URL,并将API_KEY变量替换为在步骤1中检索到的OAuth使用方密钥。

#!/usr/bin/env python

import json
try:
    from urllib.request import urlopen
except ImportError:
    from urllib2 import urlopen

HOSTNAME = "alexwlchan.tumblr.com"
API_KEY = "abcdefg"

BASE_URL = (
    "http://api.tumblr.com/v2/blog/{hostname}/"
    "posts?api_key={key}&reblog_info=true"
) .format(hostname=HOSTNAME,key=API_KEY)


def api_response(url):
    req = urlopen(url)
    return json.loads(req.read())


jsonresponse = api_response(BASE_URL)
post_count = jsonresponse["response"]["total_posts"]

for count in range(0, post_count, 20):
    jsonresponse = api_response("{url}&offset={count}".format(
        url=BASE_URL,
        count=count))

    for post in jsonresponse["response"]["posts"]:
        if "reblogged_from_name" not in post:
            print(post["post_url"])

print("All finished!")

步骤3:运行脚本

这是一个Python脚本,适用于Python 2或3。如果您使用的是Google,则应该能够找到有关针对所选操作系统运行Python脚本的说明。

该脚本将打印出未从Tumblr API获得任何重新博客信息的URL列表。在我的(非常简短的)测试中,它似乎选择了一些实际上是重新博客的URL –我没有做任何挖掘来弄清楚为什么会这样。

玩得开心!:-)


非常感谢您,尽管答案很晚:)
Aventinus

3

互联网上有人为此编写了脚本,您可以在Github上找到它。您必须将主机名和API密钥的参数更改为自己的tumblr主机名,并分别添加自己的API密钥。

您的主机名应类似于“ x.tumblr.com”,(一定要用“”标记将其包装)。

然后,您需要从Tumblr获取API密钥。去做这个:

  1. 确保您已登录到Tumblr。
  2. 进入OAuth注册页面
  3. 单击注册应用程序,其中包含以下详细信息:

    • 应用程序名称:未标记的帖子查找器
    • 描述:查找未加标签的帖子
    • 默认回调网址: /
  4. 您将被带回到上一页并获得您的消费者密钥。

  5. 复制并将已获得的密钥粘贴到脚本中并运行它。

如果您不熟悉脚本和编码,则可以选择使用他的“一键式”解决方案网站,只需提供Tumblr的网址。


1
这是最接近的答案,但并不完全相关。该软件可搜索没有标签的帖子。尽管有用,但我的帖子没有标签并不一定是正确的。在我的示例中,我提到如果我使用某个标签来标记所有原始帖子,那将真的很容易。
Aventinus

在我看来,我完全忽略并排除了某些源帖子可能已被标记的事实,这将使这种方法在那时变得无关紧要。我对编码一点都不熟悉,但是如果您愿意,也许您可​​以看看将整数从选择未标记的源帖子修改为标记的源帖子吗?
oneqeightyfour

是的,我实际上已经想到了。也许我会调整代码。没错,这是最接近的答案。
Aventinus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.