Есть ли способ просмотреть все мои сообщения Tumblr, которые не являются реблогами?

11

У меня более 7000 сообщений в моем аккаунте на Tumblr. Подавляющее большинство из них являются «реблогами», а остальные - посты (изображения или тексты), которые я загрузил. Есть ли способ как-то просмотреть эти конкретные сообщения? Один из способов был бы, если бы я использовал определенный тег для этих сообщений, но я этого не сделал. Перефразируя мой вопрос: есть ли способ просмотреть все доступные посты Tumblr, источником которых был мой аккаунт?

Aventinus
источник

Ответы:

4

Я автор сценария, на который ссылается ответ @ oneqeightyfour. Поэтому, хотя я немного опоздал на вечеринку, вот модифицированная версия скрипта, которую вы можете использовать.

Я нашел сайт с одним щелчком, который утверждает, что делает это также, но я не мог заставить это работать. Возможно, вы захотите попробовать это в первую очередь?


Шаг 1: получить ключ API Tumblr

Использование API намного проще, с точки зрения программирования, чем пытаться очистить сайт. Кроме того, Tumblr T & C не одобряют массовый доступ к данным без использования API.

Чтобы получить ключ API:

  1. Убедитесь, что вы вошли в Tumblr
  2. Перейдите на страницу регистрации OAuth .
  3. Выберите «Зарегистрировать приложение» и используйте следующие данные:

    • Имя приложения: Найти все мои оригинальные сообщения
    • Описание приложения: Найти все оригинальные посты на сайте; то есть сообщения, которые не являются блогами
    • URL обратного вызова по умолчанию: /
  4. Это вернет вас на первую страницу. Вам будет показан ключ потребителя OAuth . Скопируйте это - мы будем использовать это в ближайшее время.

Шаг 2: Настройте скрипт

Это слегка измененная версия моего сценария. Скопируйте и вставьте его в текстовый редактор (например, TextEdit или Notepad) и сохраните как originals.py.

Вам следует заменить HOSTNAMEпеременную URL-адресом вашего блога, а API_KEYпеременную - ключом пользователя OAuth, который вы получили на шаге 1.

#!/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 для выбранной вами операционной системы.

Сценарий распечатает список URL-адресов, по которым он не получил никакой информации о журнале перезаписи от Tumblr API. В моем (очень кратком) тестировании он, похоже, выбрал несколько URL-адресов, которые на самом деле были реблогами - я не копался, чтобы выяснить, почему это так.

Радоваться, веселиться! :-)

alexwlchan
источник
Большое спасибо, хотя это поздний ответ :)
Aventinus
3

Кто-то в Интернете написал сценарий для этого, и вы можете найти его на Github . Вам нужно изменить параметры имени хоста и ключа API на собственное имя хоста Tumblr и добавить свой собственный ключ API соответственно.

Ваше имя хоста будет выглядеть примерно так: «x.tumblr.com» (обязательно оберните его знаком «»).

Затем вам нужно будет получить ключ API от Tumblr. Сделать это:

  1. Убедитесь, что вы вошли в Tumblr.
  2. Откройте страницу регистрации OAuth .
  3. Нажмите на Регистрация приложения со следующими данными:

    • Имя приложения: без метки Post Finder
    • Описание: Находит непомеченные сообщения
    • URL обратного вызова по умолчанию: /
  4. Вы вернетесь на предыдущую страницу и получите свой потребительский ключ.

  5. Скопируйте, вставьте полученный ключ в скрипт и запустите его.

Если вы не знакомы со сценариями и кодированием, вы можете использовать его сайт решений «одним щелчком» и просто указать URL своего Tumblr.

oneqeightyfour
источник
1
Это самый близкий ответ, но не совсем соответствующий. Этот программный продукт ищет сообщения, на которых нет тега. Хотя это и полезно, но не обязательно, чтобы в моих сообщениях не было тега. В моем примере я упомянул, что было бы очень легко, если бы я использовал определенный тег, чтобы пометить все мои оригинальные сообщения.
Авентин
Мне просто пришло в голову, что я абсолютно упустил из виду и исключил тот факт, что некоторые из ваших исходных сообщений могли быть помечены и что тогда этот подход не будет иметь значения. Я совсем не знаком с кодированием, но если вы, может быть, вы можете посмотреть на изменение целых чисел от выбора исходных сообщений без тегов до исходных сообщений с тегами?
oneqeightyfour
Да, я действительно думал об этом. Может быть, я буду корректировать код. Тем не менее, это самый близкий ответ.
Авентин