Reblog olmayan tüm Tumblr yayınlarımı görüntülemenin bir yolu var mı?


11

Tumblr hesabımda 7000'den fazla yayın var. Bunların büyük çoğunluğu "rebloglar" ama geri kalanı yüklediğim yayınlar (resimler veya metinler). Bu yayınları bir şekilde görüntülemenin bir yolu var mı? Bu yazılara belirli bir etiket kullansaydım bir yol olurdu. Sorumu yeniden ifade etmek için: Kaynağı hesabım olan tüm Tumblr yayınlarını görüntülemenin bir yolu var mı?

Yanıtlar:


4

@ Oneqeightyfour'un cevabında bağlantılı olan senaryo yazarıyım. Partiye biraz geç kalmama rağmen, burada kullanabileceğiniz komut dosyasının değiştirilmiş bir sürümü.

Bunu da yaptığını iddia eden tek tıklamayla bir site buldum, ancak çalıştıramadım. Önce denemek ister misin?


1.Adım: Bir Tumblr API anahtarı edinin

API'yi kullanmak, programlama açısından siteyi kazımaya çalışmaktan çok daha kolaydır. Ayrıca, Tumblr T & C'leri, API üzerinden geçmeden verilere toplu olarak eriştiğinizde kaşlarını çattı.

API anahtarınızı almak için:

  1. Tumblr'da oturum açtığınızdan emin olun
  2. Onların git OAuth kayıt sayfası .
  3. "Uygulamayı Kaydet" i seçin ve aşağıdaki ayrıntıları kullanın:

    • Uygulama Adı: Tüm orijinal yayınlarımı bul
    • Uygulama Açıklaması: Bir sitedeki tüm orijinal mesajları bulun; yani, web günlüğü olmayan yayınlar
    • Varsayılan geri arama URL'si: /
  4. Bu sizi ilk sayfaya götürür. Size bir OAuth Tüketici Anahtarı gösterilecektir . Bunu kopyalayın - kısa süre içinde kullanacağız.

2. Adım: Komut dosyasını ayarlayın

Bu benim betiğimin hafifçe değiştirilmiş sürümüdür. Bunu kopyalayıp bir metin düzenleyicisine (örn. TextEdit veya Not Defteri) yapıştırın ve olarak kaydedin originals.py.

HOSTNAMEDeğişkeni blogunuzun URL'siyle ve API_KEYdeğişkeni 1. adımda aldığınız OAuth Tüketici Anahtarı ile değiştirmeniz gerekir .

#!/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. Adım: Komut dosyasını çalıştırın

Bu, Python 2 veya 3 için uygun bir Python betiğidir. Etrafta Google'daysanız, seçtiğiniz işletim sisteminiz için Python komut dosyalarını çalıştırma talimatlarını bulabilmeniz gerekir.

Komut dosyası, Tumblr API'sından herhangi bir blog günlüğü bilgisi almayan URL'lerin bir listesini yazdırır. (Çok kısa) testlerimde, aslında bloglar olan bir avuç URL alıyor gibiydi - Neden böyle olduğunu öğrenmek için herhangi bir kazma yapmadım.

İyi eğlenceler! :-)


Çok geç bir cevap olmasına rağmen çok teşekkür ederim :)
Aventinus

3

İnternetteki biri bunun için bir senaryo yazdı ve Github'da bulabilirsiniz . Ana makine adı ve API anahtarı parametrelerini kendi tumblr ana makine adınızla değiştirmeniz ve sırasıyla kendi API anahtarınızı eklemeniz gerekir.

Ana makine adınız "x.tumblr.com" gibi bir şey olacaktır ("" işaretleriyle doldurduğunuzdan emin olun).

Daha sonra Tumblr'dan bir API anahtarı almanız gerekir. Bunu yapmak için:

  1. Tumblr'da oturum açtığınızdan emin olun.
  2. OAuth kayıt sayfasına erişin .
  3. Aşağıdaki detayları içeren Başvuruyu Kaydet'e tıklayın:

    • Uygulama Adı: Etiketsiz Post Finder
    • Açıklama: Etiketsiz yayınları bulur
    • Varsayılan Geri Arama URL'si: /
  4. Bir önceki sayfaya geri götürülecek ve tüketici anahtarınız verilecektir.

  5. Kopyaladığınız anahtarı kopyalayıp yapıştırın.

Komut dosyalarına ve kodlamaya aşina değilseniz, alternatif olarak "tek tıklamayla" çözüm sitesini kullanabilir ve Tumblr'ınızın URL'sini girebilirsiniz .


1
Bu en yakın cevaptır, ancak tamamen ilgili değildir. Bu yazılım parçası üzerinde etiketi olmayan gönderileri arar . Yararlı olsa da, yayınlarımın bir etiketi olmayacağı doğru değil. Örneğimde, tüm orijinal yayınlarımı etiketlemek için belirli bir etiket kullansaydım gerçekten kolay olacağını belirtmiştim .
Aventinus

Sadece kaynak mesajlarınızdan bazılarının etiketlenebileceğini ve bu yaklaşımı ilgisiz hale getireceğini kesinlikle göz ardı ettim ve göz ardı ettim. Ben kodlama hiç aşina değilim, ama eğer, belki etiketsiz kaynak mesajlar için etiketsiz kaynak mesajları seçmek tamsayı değiştirerek bakabilirsiniz?
oneqeightyfour

Evet, aslında bunu düşündüm. Belki de kodu ayarlayacağım. Asla daha az, bu henüz en yakın cevap.
Aventinus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.