回答:
@oneqeightyfourの回答にリンクされているスクリプトの作成者です。パーティーには少し遅れますが、使用できるスクリプトの修正バージョンを次に示します。
私もこれを行うと主張するワンクリックサイトを見つけましたが、それを機能させることができませんでした。あなたは最初にそれを試してみたいかもしれませんか?
APIの使用は、プログラミングの観点からすると、サイトをこすることよりもはるかに簡単です。また、Tumblr T&Cは、APIを経由せずにデータに一括アクセスすると不快になります。
APIキーを取得するには:
「アプリケーションの登録」を選択し、次の詳細を使用します。
これにより、最初のページに戻ります。OAuthコンシューマキーが表示されます。これをコピーしてください。まもなく使用します。
これは、スクリプトを少し変更したバージョンです。これをコピーしてテキストエディタ(TextEditやメモ帳など)に貼り付け、として保存します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!")
これは、Python 2または3に適したPythonスクリプトです。Googleを使用している場合は、選択したオペレーティングシステムでPythonスクリプトを実行するための手順を見つけることができます。
スクリプトは、Tumblr APIからブログ情報を取得しなかったURLのリストを出力します。私の(非常に短い)テストでは、実際にはブログである少数のURLを取得しているように見えました。これが原因であるかどうかを調べるための調査は行っていません。
楽しんで!:-)
インターネット上の誰かがこのためのスクリプトを書いており、Githubで見つけることができます。ホスト名とAPIキーのパラメーターを独自のtumblrホスト名に変更し、独自のAPIキーをそれぞれ追加する必要があります。
ホスト名は "x.tumblr.com"のようになります(必ず ""マークで囲んでください)。
次に、TumblrからAPIキーを取得する必要があります。これをする:
次の詳細で[アプリケーションの登録]をクリックします。
前のページに戻り、コンシューマキーが提供されます。
取得したキーをコピーしてスクリプトに貼り付け、実行します。
スクリプトやコーディングに慣れていない場合は、代わりに彼の「ワンクリック」ソリューションサイトを使用して、TumblrのURLを指定することもできます。