Чи є спосіб переглянути всі мої публікації на Tumblr, які не є реблогами?


11

У мене в акаунті Tumblr більше 7000 дописів. Переважна більшість з них є "реблогами", але решта - це публікації (зображення чи тексти), які я завантажив. Чи є спосіб якось переглянути ці конкретні публікації? Один із способів був би, якби я використав певний тег до цих постів, але цього не зробив. Перефразовуючи моє запитання: чи є спосіб переглянути всі доступні публікації Tumblr, джерелом яких був мій обліковий запис?

Відповіді:


4

Я автор сценарію, пов’язаного у відповіді @ oneqeightyfour. Тож хоча я трохи спізнююся на вечірку, ось модифікована версія сценарію, яку ви можете використовувати.

Я знайшов сайт одним натисканням, який також стверджує, що це зробити, але я не зміг його працювати. Ви можете спробувати це спершу?


Крок 1. Отримайте ключ API Tumblr

Використовувати API набагато простіше, з точки зору програмування, ніж намагатися скребкувати сайт. Крім того, Tumblr T & Cs нахмуриться на масовий доступ до даних, не переходячи через API.

Щоб отримати ключ API:

  1. Переконайтеся, що ви ввійшли в Tumblr
  2. Перейдіть на сторінку реєстрації їх OAuth .
  3. Виберіть "Зареєструвати заявку" та скористайтеся такими деталями:

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

Крок 2: Налаштування сценарію

Це злегка змінена версія мого сценарію. Скопіюйте та вставте це в текстовий редактор (наприклад, TextEdit або Блокнот) і збережіть його як 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-адрес, де не отримано жодної інформації про реблог з API Tumblr. У моєму (дуже короткому) тестуванні здавалося, що я зібрав кілька URL-адрес, які насправді були реблогами - я не робив жодного копання, щоб з'ясувати, чому це так.

Веселіться! :-)


Дуже дякую, хоча це пізня відповідь :)
Aventinus

3

Хтось в Інтернеті написав для цього сценарій, і ви можете знайти його на Github . Вам слід змінити параметри імені хоста та ключа API на власне ім'я хоста tumblr та додати власний ключ API відповідно.

Ваше ім’я хоста буде чимось на зразок "x.tumblr.com", (не забудьте обернути його позначками "").

Потім вам потрібно буде отримати ключ API від Tumblr. Зробити це:

  1. Переконайтеся, що ви зареєстровані в Tumblr.
  2. Перейдіть на сторінку реєстрації OAuth .
  3. Клацніть на реєстрацію заявки з такими деталями:

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

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

Якщо ви не знайомі зі сценаріями та кодуванням, ви можете також скористатися його сайтом рішення "одним клацанням" та просто надати URL-адресу вашого Tumblr.


1
Це найближча відповідь поки, але не зовсім актуальна. Цей фрагмент програмного забезпечення шукає публікації, на яких немає тегів. Хоча це і корисно, це не обов'язково правда, що в моїх публікаціях не буде тегів. У своєму прикладі я згадував, що було б дуже просто, якби я використав певний тег, щоб позначити всі мої початкові публікації.
Авентінус

Мені просто прийшло в голову, що я абсолютно не помітив і виключив той факт, що деякі ваші джерельні публікації могли бути позначені тегами, і це зробить цей підхід неважливим. Я взагалі не знайомий з кодуванням, але якщо ви є, можливо, ви можете подивитися на внесення змін до цілих чисел від вибору нетегізованих вихідних публікацій до тегів джерела з тегами?
oneqeightyfour

Так, я насправді про це думав. Можливо, я відкоригую код. Ніколи менше, це найближча відповідь поки.
Авентінус
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.