(⏱この記事は、約18分40秒で読めます)
ALISにはAPIがあり、記事のデータを取得できるものがあります。
こちらにAPIがいろいろあるのが分かります。
ということでAPIを使ってALISの自分の記事を10件だけバックアップを取る方法を紹介します。
いくつか方法はあると思いますが、今回は認証を必要としない方法です。
プログラム言語はPHPを使用します。
認証が面倒、という方にはおすすめかもしれません。
では、プログラムの紹介。
<?php
$user_id = 'kyoasahina';
$limit = 10;
// (1)article_idを含む記事情報を10件取得する
$url = sprintf('https://alis.to/api/users/%s/articles/public?limit=%s', $user_id, $limit);
$json_data = file_get_contents($url);
// (2)jsonのデータを配列にする。
$data = json_decode($json_data, true);
// (3)$dataのItemsに記事情報が含まれている。
$items = $data['Items'];
// (4)記事情報配列を定義
$article_ids = [];
foreach ($items as $val) {
$article_ids[] = $val['article_id'];
}
// (5)記事情報配列を回す
foreach ($article_ids as $article_id) {
$url = sprintf('https://alis.to/api/articles/%s', $article_id);
$json_data = file_get_contents($url, true);
// (6)$dataには記事のタイトル、作成日、本文などが含まれている
$data = json_decode($json_data, true);
echo sprintf("AUTHOR: %s\n", $user_id);
echo sprintf("TITLE: %s\n", $data['title']);
echo sprintf("DATE: %s\n", date('m-d-y H:i:s', $data['created_at']));
echo sprintf("BODY: %s\n", $data['body']);
echo "\n-----\n";
// (7)1秒ずつ停止する。「1リクエスト/秒を目安にしてください」とのこと。
sleep(1);
}
exit;
このプログラムを、alis_bk.phpというファイルに保存し、次のコマンドを実行します。
コマンドプロンプトを立ち上げての実行です。
php alis_bk.php > alis_backup.txt
alis_backup.txtの内容は次のようになります。
AUTHOR: kyoasahina
TITLE: 【御徒町】土風炉で食べる「のっぺ汁」
DATE: 01-19-20 05:37:45
BODY: <p>(⌚この記事は約1分10秒で読めます)</p><p>御徒町の土風炉へ。</p><p>新潟料理のお店です。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/KeO0D5yJP89l/af4e5d96-bce1-4a04-a72d-803bb73fbae2.jpeg"></figure><p>栃木の地ビール「緋富士」。</p><p>苦みが効いた味。色は名前通り赤っぽい。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/KeO0D5yJP89l/2e530802-0a97-4786-9f61-07c6d1a21d48.jpeg"></figure><p>あん肝ポン酢。</p><p>寒い時期が一番美味しいですね。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/KeO0D5yJP89l/6d4d49c5-f12b-4291-84ba-ca221d08ce6e.jpeg"></figure><p>殿様しいたけステーキ。</p><p>「おいしさも、安心も、すべて最上級を目指そう!」というコンセプトから生まれたしいたけだそうです。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/KeO0D5yJP89l/a9abfea4-65e7-4b97-9dbf-dfb5d8163b68.jpeg"></figure><p>のっぺ汁。</p><p>新潟の郷土料理です。</p><p>ニンジンをはじめとする根菜類と、肉やイクラを入れて煮込んだものです。</p><p>イクラは場合によっては煮込まないで、あとから添える場合もあるらしい。</p><p>里芋のよく煮込んだ味がいいですね。</p><p>ビジュアル的にも美しいかと。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/KeO0D5yJP89l/4b923024-b332-4fa0-b5b5-2a8f1a94bfbb.jpeg"></figure><p>寒ブリのステーキ。</p><p>肉厚で食べ応えのあるブリです。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/KeO0D5yJP89l/243463b3-de45-4e06-8549-667b67c38eb6.jpeg"></figure><p>あんぽ柿と柚子のクリームチーズ和え。</p><p>あんぽ柿というのは、渋柿を硫黄で燻蒸(この場合気体にした硫黄を浸透させること)した干し柿とのこと。</p><p>程よく甘味があってクリームチーズに馴染む。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/KeO0D5yJP89l/d127419d-2424-4554-a1ad-a41435e8efd4.jpeg"></figure><p>甘酒のプリン。</p><p>杏仁豆腐を柔らかくしたような食感。</p><p>かすかに甘酒の香りがしますね。</p><figure class="media"><oembed url="https://tabelog.com/tokyo/A1311/A131101/13015685/"></oembed></figure><p>----- い つ も の 宣 伝 ------ <br><br>◆kyo asahinaの著書◆ <br><br>テンプレートエンジンTwigを覚える本 Kindle版</p><figure class="media"><oembed url="https://amzn.to/2q6lSAK"></oembed></figure><p> </p><p>Smarty 3を覚える本 Kindle版</p><figure class="media"><oembed url="https://amzn.to/34JmYBk"></oembed></figure><p> </p>-----
(省略)
-----
AUTHOR: kyoasahina
TITLE: 【新宿三丁目】牛繁、キングビスケット、丸港水産
DATE: 01-14-20 14:46:51
BODY: <p>バンドのメンバーと新宿三丁目の牛繁へ。</p><p>バンドでは新年会ということになります。</p><p>音楽活動はほぼしないで、飲み会やキャンプなどばかりするバンドです。</p><p>って言っても今回集まったのはその中の3名だけ。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/c45365ff-eebd-4e6b-87a5-66502428464c.jpeg"></figure><p> </p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/8c0c245e-4223-4e12-942d-65ea0524c670.jpeg"></figure><p>焼肉のセット。4~5人前だけど割と余裕で食べられますね。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/348730e9-622e-4c3d-b5d6-09bab891b147.jpeg"></figure><p>火がついてる。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/f09fbeb5-6437-4afc-9bd8-49293c3b58c5.jpeg"></figure><p>まだまだ食べれそう、ってんでホルモン盛り合わせも追加。</p><p>レバーを焼いてるとこ。しっかり焼きましょう。</p><p>一旦店を出て、バー「KING BISCUIT(キングビスケット)」へ。</p><p>ブルースを聴きながらお酒が飲めるお店。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/66eff9f4-a276-480d-b112-07f1ad4d122f.jpeg"></figure><p>ウイスキーの味わい方が載ってます。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/aa99a80c-1255-451c-85c5-c22224d90324.jpeg"></figure><p> </p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/0aa39f23-a0c2-4aa0-8704-a147e092a47f.jpeg"></figure><p>キルホーマンをオーダー。</p><p>ピートっぽい味が結構好みです。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/a276da00-84a8-481a-89dc-fd5504394370.jpeg"></figure><p>他のメンバーの1人はスプリングバンクをオーダー。</p><p>塩気のある味でした。</p><p>なんで塩気があるかの説をマスターから聞くと、蒸留所が海の近くで潮風にさらされた結果、という説や使用してる水のミネラル分が塩気を感じさせる、という説などいろいろあるそうです。</p><p> </p><p>1人2杯ウィスキーを飲んだら、今度は丸港水産へ。</p><p>ここもこのメンバーではよく行くところ。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/fa8d50f0-fdca-4d92-97b3-0d570b20f288.jpeg"></figure><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/8a5aca0e-97c6-4c3f-b600-977c7291dc5b.jpeg"></figure><p>カニのグラタン。</p><p>カニの味がいきわたってて美味い。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/9de68da8-306e-4c0d-ab31-9fc7a6001f36.jpeg"></figure><p>かきふらい。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/5bbba1fb-0268-4585-9873-b1f193e13f23.jpeg"></figure><p>マグロ唐揚げです。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/37adba93-fa65-4bcc-a310-c5ccfd21b9b2.jpeg"></figure><p>マグロの寿司もオーダー。</p><figure class="image"><img src="https://alis.to/d/api/articles_images/kyoasahina/K8DQLQdA6bRZ/b0311eb9-0c8f-4ba3-b3c7-8667c1c5a126.jpeg"></figure><p>サイン入りのうちわなど。</p><p> </p><figure class="media"><oembed url="https://tabelog.com/tokyo/A1304/A130401/13036487/"></oembed></figure><figure class="media"><oembed url="https://tabelog.com/tokyo/A1304/A130401/13011085/"></oembed></figure><figure class="media"><oembed url="https://tabelog.com/tokyo/A1304/A130401/13047878/"></oembed></figure><p>----- い つ も の 宣 伝 ------ <br><br>◆kyo asahinaの著書◆ <br><br>テンプレートエンジンTwigを覚える本 Kindle版</p><figure class="media"><oembed url="https://amzn.to/2q6lSAK"></oembed></figure><p>Smarty 3を覚える本 Kindle版</p><figure class="media"><oembed url="https://amzn.to/34JmYBk"></oembed></figure><p> </p>-----
バックアップが取れているのがわかります。
このプログラムがやっていることは、以下2点のみです。
1./users/{user_id}/articles/public のAPIを使用して、記事のIDを含む情報を取得。
2.記事のIDの配列をループし、それぞれの記事の本文をはじめとする情報を取得し、バックアップファイルに吐き出す。
たったこれだけのことです。
ただし、負荷をサーバーにかけるようなリクエストはよろしくないので、sleepで1秒ずつ止めます。
プログラム中に、
$user_id = 'kyoasahina';
という記述がありますが、ここをあなたのユーザーIDに変更することで、自分のバックアップを取得できます。
ちなみに、
$limit = 10;
にしてますが、こちらのlimitは100が限界のようです。
ということで、今回は認証を必要とせずに記事のバックアップをする方法を紹介しました。
■本日の猫
新宿歌舞伎町の猫カフェの猫
----- い つ も の 宣 伝 ------
◆kyo asahinaの著書◆
テンプレートエンジンTwigを覚える本 Kindle版
Smarty 3を覚える本 Kindle版