テクノロジー

認証なしでALIS記事を最新10件だけバックアップする方法

kyo asahina🦄's icon'
  • kyo asahina🦄
  • 2020/01/20 16:52

(⏱この記事は、約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が限界のようです。

ということで、今回は認証を必要とせずに記事のバックアップをする方法を紹介しました。

 

■本日の猫

新宿歌舞伎町の猫カフェの猫

Content image

 

----- い つ も の 宣 伝 ------ 

◆kyo asahinaの著書◆ 

テンプレートエンジンTwigを覚える本 Kindle版

 

Smarty 3を覚える本 Kindle版

 




 

 

 

 

 

 

 

 

Supporter profile iconSupporter profile iconSupporter profile iconSupporter profile icon Supporters link icon
Article tip 8人がサポートしています
獲得ALIS: Article like 86.51 ALIS Article tip 24.80 ALIS
kyo asahina🦄's icon'
  • kyo asahina🦄
  • @kyoasahina
プログラマー(Web系)です。ツイッター:https://twitter.com/kyoplusplus Kindleで「Twigを覚える本」出版してます。http://amzn.to/2gOM9yC

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

「ハッシュ」とは何なのか、必ず理解させます

Like token Tip token
0.10 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS