今回は第3弾として、Marshal Enterprisesのダウンロードページで、
ダウンロードファイルの変更有無をPythonに判定させてみた。
変更があった場合は、下図赤枠のように、新しく登録されたファイル名を表示する。
削除されたファイルは、表示しない(必要がないので)。
プログラムソースを下記に示す。
(補足)
1.考え方
次のように段階に分けて該当するファイル名を含む要素(< >で囲まれたHTMLのタグ)を抽出する。
(1)<sapn>を含む要素のみ抽出する。
(2)’DOWNLOAD_FILE_NAME_RENDERED’を含む要素のみ抽出する。
(3)’x-el x-el-span c1-1 c1-2 c1-16 c1-17 c1-18 c1-43 c1-c c1-1a c1-1b c1-1c c1-b c
1-6o c1-d c1-e x-d-ux x-d-aid x-d-route’ を含む要素のみ抽出する。
これは、下図赤枠のように、DOWNLOADファイルの要素を特定するための情報を見つける事で可能になる。
2.ファイル名の取り出し方
(1)ファイル名は、< >で囲まれた文字列で挟まれているので、この文字列を削除する。
(2)文字列の削除方法は、'<[^<|^>]*>’の正規化表現を使って、reモジュールで行う。
2019/10/21追記
WEBページの内容が変更なっているが、プログラムではSameになる不具合が生じた。
調べたところ、class名称で絞り込む処理が適切ではない事が分かった。そこで、以前の
ソースでelems3に抽出する処理を削除し、elems2の内容を正規表現処理に渡すように
変更した。上記のソースコードは、この変更が反映されているものである。
<個人的な感想>
いや~、とても便利である。Marshal Enterpreisesのホームページには、変更来歴が
記載されていないので、変更の有無は目視で確認するしかなかった。ファイルの名称に
日付が含まれていれば分かるが、そうでないものは分からない。
今回のPythonプログラムは、とても役に立つ。