3
1

More than 1 year has passed since last update.

iOSのショートカットアプリでLast-Modified レスポンスヘッダーを参照してWEBページの更新を確認する

Posted at

目的

クリプタクトというサイトのお知らせページの更新状況を確認する

条件

  • RSS非対応でも使用できること
  • お知らせページの更新があるときだけブラウザを立ち上げて確認する

作成したもの

ショートカットアプリ:WEBページ更新確認

上記お知らせページからLast-Modified レスポンスヘッダーを取得して更新があればアナウンスページを表示します。
使用したiOSバージョンはiOS15.1になります。

ショートカットのアクションについて

ショートカットの詳細はユーザーガイドを参照してください。

使用するアクション

  • URLからヘッダを取得(JSON)
  • 取得したヘッダ(キー:値)から任意の文字列をキーに指定し、キーに対する値を取得
  • 変数の保存、取得
  • クリップボード保存、取得
  • if文
  • アラート
  • ショートカットの実行停止

処理の流れ

  1. 事前にLast-Modifiedヘッダを保存したファイルからLast-Modifiedヘッダを取得して変数(oldLastMod)に保存

  2. アナウンスページより新規に取得したLast-Modifiedヘッダをクリップボードに保存
    ※ Last-Modified レスポンスヘッダーが未設定の場合は未設定であることを表示してショートカットの実行を停止します。

  3. クリップボードの値と変数(oldLastMod)が等しいか確認
    ※ショートカットのif文は複数の変数を指定できないためクリップボードに保存した値と比較します。

  4. 等しい場合、更新なしを表示してショートカットの実行を停止

  5. その他(等しくない)の場合、更新ありを表示してLast-Modifiedヘッダを保存したファイルを上書きし、アナウンスページを表示してショートカットの実行を停止

    ブラウザ起動とLast-Modifiedヘッダの更新結果

まとめ

WEBページの更新を確認するためショートカットアプリを使用して作成しました。
個人的には更新内容までチェックできると良かったですが、条件が細かくなり変更もしづらいのでiPhone上で作成するのは現実的ではないと思いました。(それならコードを書いた方が良いです。)
ただ、iPhoneで確認できるのは楽で良いので、PCで作成したコードを基に実行できるようになると良いなと思います。

補足

  • ショートカットアプリはiOS12でdiffbotというスクレイピングツールが使用できたようですが、iOS15ではサポートされていないようです。
  • 以前、Pythonistaが使えましたが、こちらも非サポートのようです。

参考

iOSのショートカットでブログの更新を監視してみた
https://qiita.com/shayao3/items/eca39afbb38df7e95784

iPhoneでスクレイピング(ショートカットアプリ)
https://qiita.com/sentencebird/items/e537ad94bdd0f697f432

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1