たまにはPythonでやろうと思った
環境
準備
まずAPIキーが必要。ここからアプリを適当に登録して「OAuth Consumer Key」というのを控えておく。
コード
import requests import sys if len(sys.argv) != 2: print('Usage: ' + sys.argv[0] + ' blog_name.tumblr.com') exit(1); blog = sys.argv[1] api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # copied from API example offset = 0 while 1: url = 'http://api.tumblr.com/v2/blog/' + blog + '/posts/text?api_key=' + api_key + '&offset=' + str(offset) + '¬es_info=false' r = requests.get(url) j = r.json() posts = j['response']['posts'] if len(posts) == 0: break offset = offset + len(posts) for p in posts: print(p['title'] + ',' + p['post_url'])
で
python tumblr.py hogehoge.tumblr.com
でいける。
JSONの仕様
{
type: "text",
blog_name: "ekimemo-blog",
id: 165753226534,
post_url: "http://blog.ekimemo.com/post/165753226534/仮想ホームの調整について",
slug: "仮想ホームの調整について",
date: "2017-09-26 06:56:30 GMT",
timestamp: 1506408990,
state: "published",
format: "markdown",
reblog_key: "IDkARQ9R",
tags: [],
short_url: "https://tmblr.co/ZaNGnj2QNgOKc",
summary: "仮想ホームの調整について",
is_blocks_post_format: false,
recommended_source: null,
recommended_color: null,
note_count: 1,
title: "仮想ホームの調整について",
body: "<p>こんにちは!奪取er協会の日記係の方、らんたんです!</p> <p>いつも駅メモ!をご利用頂きありがとうございます。..............",
reblog: {},
trail: [],
can_like: false,
can_reblog: false,
can_send_in_message: true,
can_reply: false,
display_avatar: true
}
ちなみにこのブログは駅メモ!公式ブログであることはいうまでもない