商品サンプル画像
D.C. Re:tune~ダ・カーポ~ リチューン 限定版<さくらEdition> -Switch 【Amazon.co.jp限定】 オリジナルPC&スマホ壁紙 配信 限定版特典・ヴァイスシュヴァルツPRカード(4種) 同梱
商品ページ
Amazon
非収益広告(手動登録)
サクラ度:○(問題なし)
商品サンプル画像
CFBF FZ-Y80MF(枠付き)加湿フィルター & FZ-AG01K1 イオンカートリッジ 加湿空気清浄機 交換用フィルター 互換品 2点セット
商品ページ
Amazon
収益広告(自動登録)
サクラ度:△(要確認)
商品サンプル画像
Iwatani イワタニ 岩谷 イワタニカセットフー こんろ&ストーブ イザまる CB-IZ-1
商品ページ
Amazon
収益広告(自動登録)
サクラ度:△(要確認)
商品サンプル画像
【Amazon.co.jp限定】ひげそり 電動シェーバー 小型 深剃り 2モード調整 電気シェーバーメンズ 顔 往復式 シェーバー メンズ コンパクト IPX7防水 お風呂剃り対応 乾湿両用 髭剃り 電動 日本製3枚刃 18000RPM 高速回転 L
商品ページ
Amazon
収益広告(自動登録)
サクラ度:△(要確認)
商品サンプル画像
ケーブルトレー NoetixCo 配線隠し デスク下 収納 幅40cm 天板1〜5cm対応 高炭素鋼製 7KG耐荷重 穴あけ不要・工具不要・3分設置 コード まとめる コード隠し コード 収納 配線 整理 デスク周り 机下 収納 ケーブルオーガナイザ
商品ページ
Amazon
収益広告(自動登録)
サクラ度:△(要確認)
記事の概要
Pythonを使ってinoreaderでサイトの更新情報を取得してみた
作成日:2021-10-31
最終更新日:2021-10-31
記事の文字数:4415
情報技術情報技術-WebAPIWebサイト作成
Pythonを使ってinoreaderでサイトの更新情報を取得してみた
inoreader(イノリーダー?)が公開しているWeb APIを使用して、Pythonで自動的にサイトの更新情報を取得できるようにした。
ので実際のPythonコードを交えてそのやり方のメモをここに残します。
ちなみにコードを書くのは上手くないのでクオリティには目をつぶってください。
前提
  • inoreaderは無料サービスを使用する(無料で十分使えそうだったため)
ざっくりとした流れ
大体の作業の流れは以下の通りです。 このうちpythonで自動化するのは「5~6」デス。
  1. inoreaderにサービス登録する
  2. inoreaderに更新をウォッチしたいサイトを登録する
  3. inoreaderで接続用アプリケーションを登録する
  4. inoreaderでトークンを発行する(GoogleDevelopers使用)
  5. 【python】サイトの更新情報を取得する
  6. 【python】取得した情報をテキストファイルに保存する
実作業
1.inoreaderにサービス登録する
まず最初に、当然ですがinoreaderでアカウントを登録する必要があります。
以下のURLからアカウントを作成しましょう。
アカウント作成ページ
2.inoreaderに更新をウォッチしたいサイトを登録する
inoreaderでアカウントを登録したら、最初に更新をウォッチしたいサイトを登録する必要があります。
以下の画像の場所から登録できます。
画像クリックで等倍
そしてここで更に登録したサイトをフォルダにまとめておきましょう。
後でpythonで更新情報を取得するときに、フォルダ単位で取得できます。
フォルダの作成方法はフィードと同じです。
画像クリックで等倍
3.inoreaderで接続用アプリケーションを登録する
inoreaderではFeedlyと違って無料版でもきちんとしたOAuthが使えるようです。
その前段としてinoreader上であらかじめ接続用アプリケーションを作成しておく必要があります。
やり方は以下画像を参考にしてください。
「クライアントシークレット」(App Key)は所謂パスワードのようなもので秘匿性が高いので他の人に教えないようにしましょう。
ただ、のちの工程で必要なので、「クライアントID」と「クライアントシークレット」はメモっておいてください。
ここで間違えそうなところは、リダイレクトURIは特に入れなくてもいいというところです。
画像クリックで等倍
画像クリックで等倍
4.inoreaderでトークンを発行する(GoogleDevelopers使用)
前述の通りFeedlyと違い、無料版でもアクセストークンの使用方法がきちんとした奴です。
まず最初にアクセストークンとリフレッシュトークンを発行しないといけないのですが、ここをpythonで作るとめんどくさいはずで、なおかつ一回しかやらない手順なので、公式がデモのやり方を紹介しているそれに相乗りしました。
以下URLの手順に従い、トークンを発行してください。
「Google OAuth 2.0 Playground」というセクションのところに手順が書いてあります。
アクセストークン発行手順
最後までやるとアクセストークンとリフレッシュトークンが画面に表示されるので、それをメモっておいてください。
5.【python】サイトの更新情報を取得する
ここからpythonコードになります。どうでもいいところは中略です。
# パッケージの読み込み import requests ~~~中略~~~ #------------------------------------------------------------------- # コンテンツ取得 def getArticle(streamId): # 戻り値を指定 ret = "" try: # コンテンツ取得API実行 res = callAPI(streamId) # ステータスコードが403の場合、アクセストークンを更新し、もう一度コンテンツを取得する if res.status_code == 403: #アクセストークンを更新 refleshToken() # コンテンツ取得API実行 res = callAPI(streamId) # html文を作成 js = res.json() for article in js["items"]: # ここで見たい情報をまとめる ret += article["title"] except: CommonFunction.updFileContent(trgtFolder + "エラー.txt", "ステータスコード:" + str(res.status_code)) return ret # コンテンツ取得API実行 def callAPI(streamId): # アクセストークンを取得 accessToken = CommonFunction.getFileContent(trgtFolder + "AccessToken.txt") # API利用に必要な情報を格納 url = "https://www.inoreader.com/reader/api/0/stream/contents/" + streamId + "?n=" + artNum reqHeader = { "Content-Type":"application/x-www-form-urlencoded", "Authorization":"Bearer " + accessToken } # コンテンツ取得APIを実行 res = requests.get(url, headers=reqHeader) return res # アクセストークンを更新 def refleshToken(): # リフレッシュトークンを取得 refToken = CommonFunction.getFileContent(trgtFolder + "RefleshToken.txt") # API利用に必要な情報を格納 url = "https://www.inoreader.com/oauth2/token" reqHeader = { "Content-Type":"application/x-www-form-urlencoded" } reqParam = { "client_id":"**********", "client_secret":CommonFunction.getFileContent(trgtFolder + "ClientSecret.txt"), "grant_type":"refresh_token", "refresh_token":refToken } # トークンリフレッシュAPIを実行 res = requests.post(url, headers=reqHeader, data=reqParam) CommonFunction.updFileContent(trgtFolder + "RefleshTokenBK.txt", res.json()) # 念のためリフレッシュした時のレスポンスを全部保存 # アクセストークンをファイルに保存 CommonFunction.updFileContent(trgtFolder + "AccessToken.txt", res.json()["access_token"]) # リフレッシュトークンをファイルに保存 CommonFunction.updFileContent(trgtFolder + "RefleshToken.txt", res.json()["refresh_token"]) #-------------------------------------------------------------------
メソッドが3つあります。
記事を取得する流れを記載した「getArticle(streamId)」。
記事本体を取得するための「callAPI(streamId)」。
アクセストークンが期限切れになったときにトークンをリフレッシュする「refleshToken()」。

処理の大まかな流れは、
・まず、「getArticle(streamId)」が呼ばれ、
・その中で「callAPI(streamId)」が呼ばれ、
・その結果ステータスコードが「403」となった場合(これがアクセストークンの有効期限切れを表します)、「refleshToken()」が呼ばれ、もう一度「callAPI(streamId)」が呼ばれ、という流れです。

ちなみに前提として、クライアントシークレットとアクセストークンとリフレッシュトークンは別途それぞれ「ClientSecret.txt」「AccessToken.txt」「RefleshToken.txt」というファイルに保存してあります。
クライアントIDだけコードに直書きしてますが、これは書き換えることもないしそんなに秘匿性が高い情報ではないので直接書いてます。

ここのコードについては、ステータスコード403時の特殊な動きを除けば、あと気になるのは「StreamId」かと思います。
これについては次に説明します。
6.【python】取得した情報をテキストファイルに保存する
以下のように取得した記事の更新情報をテキストファイルに保存しています。
「CommonFunction.updFileContent」メソッドは単にテキストファイルに保存しているだけです。
content = "" content += getArticle("user%2F-%2Flabel%2Fウマ娘") CommonFunction.updFileContent(trgtFolder + "ウマ娘.txt", content)
「user%2F-%2Flabel%2Fウマ娘」が「StreamId」です。
最初に作成したフォルダがあると思いますが、StreamIdを単純に言うと「user%2F-%2Flabel%2F{フォルダ名}」みたいにすればいいだけのようです。
inoreaderAPIのいいところ
  • API制限数が明白になっていること
  • 無償版でも普通に使えるだけのAPI制限数になっていること
inoreaderAPIのキツいところ
作った上でinoreaderAPIのキツかったところは以下です。
  • FeedlyAPIと違い、記事のサムネイルを取得できない
ちなみに以下の記事がこの方法で作成されているページです。 サンプル
コメントログ
※コメントは最新50件が表示されます
コメント投稿




画面下部の「コンタクト」からも連絡可能です。
管理人ツイート
商品サンプル画像
D.C.Ⅱ.S.S.~ダ・カーポⅡセカンドシーズン~(TV番組)
商品ページ
Amazon
非収益広告(手動登録)
サクラ度:○(問題なし)
商品サンプル画像
パナソニック ドライヤー イオニティ Wミネラル&マイナスイオン コンパクト 軽量 速乾 モダンホワイト EH-NE8N-W
商品ページ
Amazon
収益広告(自動登録)
サクラ度:△(要確認)
商品サンプル画像
KEECOON 加湿器 大容量 8L スチーム式 加熱式 ハイブリッド式 除菌 2025 加湿器. 業務用 大型 超音波式 タワー型 上から給水 アロマ 切れタイマー リモコン 三段階噴霧量 連続48時間 静音 省エネ 湿度設定可能 お手入れ簡単 学
商品ページ
Amazon
収益広告(自動登録)
サクラ度:△(要確認)
商品サンプル画像
CFBF 加湿空気清浄機フィルター 互換品 5点セット(FZ-Y80MF 枠付き加湿/FZ-D50HF 集塵/FZ-D50DF 脱臭/FZ-AG01K1 イオンカートリッジ/FZ-PF51F1 使い捨て×3)
商品ページ
Amazon
収益広告(自動登録)
サクラ度:△(要確認)
管理人作品宣伝
VRoidポーズ集-Part03
3Dモデル / 最終更新:2024-12-03
VRoidのポーズデータ(vroidpose)集です。 写真とかによくありそうなポーズ…VRoidのポーズデータ(vroidpose)集です。 写真とかによくありそうなポーズが中心に入っています。

Boothで閲覧する利用素材等の詳細情報
VRoidナビゲーター
Webサイト / 最終更新:2025-05-06
サイト上でVRoidによる、サイト内の案内やニュース表示、Chatでの質問回答や要望の…サイト上でVRoidによる、サイト内の案内やニュース表示、Chatでの質問回答や要望の受付を行います

HPで閲覧する利用素材等の詳細情報
作品一覧はこちら
関連ページ
OpenAI API:Webサーチモードで参考にしてほしいURLを送っても無視されることがある問題について
最終更新日:2025-12-07
このページのポイントWebサーチでも、まずは「プロンプトだけ」を読んで「解釈」される「前提として見て…
記事を閲覧する
VRoidナビゲーター:質問機能を強化しました
最終更新日:2025-11-25
このページのポイントVナビの質問機能がいま開いているページを参照するようになった必要な情報をネット上…
記事を閲覧する
DOM要素の操作でよく使うプロパティ・メソッド一覧
最終更新日:2025-06-03
概要 JavaScriptでDOM操作(取得・作成・更新・削除)をする際によく使うプロパティとメソ…
記事を閲覧する
JavaScriptでアナログ時計とデジタル時計を表示するコード
最終更新日:2025-05-29
概要 最近アナログ時計を使ったので、アナログ時計を表示するJavaScriptコードを載せます。 …
記事を閲覧する
three.js・three-vrm.jsを使用して、VRoidをWebページ上に表示する Part-03
最終更新日:2025-04-20
概要 three.js・three-vrm.jsを使用して、VRoidをWebページ上に表示する方…
記事を閲覧する
three.js・three-vrm.jsを使用して、VRoidをWebページ上に表示する Part-02
最終更新日:2025-04-15
概要 three.js・three-vrm.jsを使用して、VRoidをWebページ上に表示する方…
記事を閲覧する
three.js・three-vrm.jsを使用して、VRoidをWebページ上に表示する Part-01
最終更新日:2025-04-13
概要 three.js・three-vrm.jsを使用して、VRoidをWebページ上に表示する方…
記事を閲覧する
GIF / APNG(アニメーション付きPNG)ファイル解析ページ
最終更新日:2025-03-31
ファイル読込・操作 以下に調べたいファイルを読み込ませてください。 ファイル情報 カラーパレットを…
記事を閲覧する
gifler.js仕様メモ
最終更新日:2025-03-23
本ページの趣旨 「gifler.js」という、gifアニメーションをcanvasに簡単に表示できる…
記事を閲覧する
【プログラミング】実例で分かるかもしれない再帰処理
最終更新日:2024-12-15
本ページは以下動画の台本を書き起こしたものです 解説の趣旨・方向性 皆さん、こんばんは今回はプログ…
記事を閲覧する
本サイトのタグ一覧
NovelAIR18VRoidWebサイト作成Webツールととモノ。アークナイツアークナイツ-ステージ攻略日記アズールレーンアズールレーン-日記ウマ娘ギャラリーゲームデビラビローグネットスラング系プログラミングホラーポケットタウン怪談気ままな日記逆転裁判情報技術情報技術-WebAPI知的財産権統合戦略白夜極光本サイトについて魔王スライム様がんばる!漫画
人気記事
ととモノ。3:各学科の強みを一覧化
最終更新日:2025-10-12
スコア:1391.5015 pt
このページのポイントどの学科が良いかすぐに分かる各学科のどのような点が良いか分かる各役割で欲しいスキ…
記事を閲覧する
メイド・オブ・ザ・デッド-攻略お助け情報
最終更新日:2024-05-01
スコア:835.1240 pt
ネタバレ注意! 本ページは『メイド・オブ・ザ・デッド』の情報を記録しているものです。 攻略の参考に…
記事を閲覧する
ポケットタウン_パズル一覧
最終更新日:2025-05-02
スコア:621.8789 pt
グレーのピースの数 (Number of gray pieces):検索グレーピースの数を入力して、…
記事を閲覧する
剣と魔法と学園モノ。3 前作からの変更点
最終更新日:2025-10-12
スコア:568.9689 pt
概要 もうそろそろ「ととモノ。3」のリマスターが出るので、自分自身のための振り返りと言う意味も込め…
記事を閲覧する
剣と魔法と学園モノ。3 - パーティ編成確認ツール
最終更新日:2025-09-23
スコア:496.0142 pt
ツール概要 ととモノ。3のパーティ編成を考える際に使うツールです。 攻略本や攻略wikiを参考にし…
記事を閲覧する
アークナイツ:生息演算「熱砂秘聞」の攻略メモ
最終更新日:2025-01-13
スコア:335.1804 pt
注意 本ページには攻略情報も一部含まれてるので、そういうのを見たくない人は見ない方が良いです。含ま…
記事を閲覧する
ヒカルの碁で、なぜ佐為は消えたのか
最終更新日:2025-04-21
スコア:298.1259 pt
概要 ヒカルの碁で佐為が消えた理由について、「ヒカルの才能を目覚めさせるという役割を終えたから」と…
記事を閲覧する
TRICK-本物っぽい霊能力者
最終更新日:2025-02-06
スコア:206.3368 pt
概要 TRICKは基本的にインチキ霊能力者のインチキを暴いていく話ですが、中にはトリックでは説明が…
記事を閲覧する
最新記事
逆転裁判1:真犯人まとめと悪質度
最終更新日:2025-12-15
概要 逆転裁判1(蘇る込み)に出てくる犯人たちを、やったことや動機なんかを整理して「悪質度」を点数…
記事を閲覧する
OpenAI API:Webサーチモードで参考にしてほしいURLを送っても無視されることがある問題について
最終更新日:2025-12-07
このページのポイントWebサーチでも、まずは「プロンプトだけ」を読んで「解釈」される「前提として見て…
記事を閲覧する
不思議の幻想郷 TODR:装備の印の組合せシミュレーションツール
最終更新日:2025-11-30
概要本ページは『不思議の幻想郷 TOD RELOADED.』の印考慮用のツールページです。基本事項固…
記事を閲覧する
逆転裁判3:あやめさんのナルホド君への呼び方にある3つの伏線
最終更新日:2025-11-26
このページのポイント呼び方ひとつに3つも伏線あるなんてスゲーネタバレ注意本ページには「逆転裁判3」の…
記事を閲覧する
商品サンプル画像
電気ケトル 0.8L コーヒー 温度計付き ドリップケトル ANFILANK 電気ポット 1200W ケトル コーヒーポット ドリップ ステンレス製(急速沸騰/空焚き防止/自動電源オフ) PSE認証済み 湯沸かし 一人暮らし お手入れ簡単 細口 おし
商品ページ
Amazon
収益広告(自動登録)
サクラ度:△(要確認)