Saya penulis skrip yang tertaut dalam jawaban @ oneqeightyfour. Jadi, meskipun saya sedikit terlambat ke pesta, ini adalah versi modifikasi dari skrip yang dapat Anda gunakan.
Saya memang menemukan situs sekali klik yang mengklaim melakukan hal ini juga, tetapi saya tidak bisa menggunakannya. Anda mungkin ingin mencobanya dulu?
Langkah 1: dapatkan kunci API Tumblr
Menggunakan API jauh lebih sederhana, dari perspektif pemrograman, daripada mencoba mengikis situs. Selain itu, Tumblr T & Cs tidak disukai Anda secara massal mengakses data tanpa melalui API.
Untuk mendapatkan kunci API Anda:
- Pastikan Anda masuk ke Tumblr
- Buka halaman pendaftaran OAuth mereka .
Pilih "Daftarkan Aplikasi", dan gunakan detail berikut:
- Nama Aplikasi: Temukan semua posting asli saya
- Deskripsi Aplikasi: Temukan semua posting asli di situs; yaitu, posting yang bukan weblog
- URL panggilan balik default: /
Ini membawa Anda kembali ke halaman pertama. Anda akan ditunjukkan Kunci Konsumen OAuth . Salin ini - kami akan segera menggunakannya.
Langkah 2: Siapkan skrip
Ini adalah versi skrip saya yang sedikit dimodifikasi. Salin dan tempel ini ke editor teks (mis. TextEdit atau Notepad) dan simpan sebagai originals.py
.
Anda harus mengganti HOSTNAME
variabel dengan URL blog Anda, dan API_KEY
variabel dengan Kunci Konsumen OAuth yang Anda ambil pada langkah 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!")
Langkah 3: Jalankan skrip
Ini adalah skrip Python, cocok untuk Python 2 atau 3. Jika Anda Google sekitar, Anda harus dapat menemukan instruksi untuk menjalankan skrip Python untuk sistem operasi pilihan Anda.
Skrip akan mencetak daftar URL yang tidak mendapatkan informasi reblog dari Tumblr API. Dalam pengujian (sangat singkat) saya, sepertinya mengambil beberapa URL yang sebenarnya reblog - saya belum melakukan penggalian untuk mencari tahu mengapa itu terjadi.
Selamat bersenang-senang! :-)