wget を使用して同じ Web ページを 2 回ダウンロードすると、異なる 2 つのファイルが作成される理由は何ですか?

wget を使用して同じ Web ページを 2 回ダウンロードすると、異なる 2 つのファイルが作成される理由は何ですか?

静的 Web ページが変更されたときに通知するスクリプトを作成しようとしています。そのためには、wgetWeb ページをダウンロードし、diff変更されたかどうかを確認します。Ubuntu 20.04 LTS 仮想マシンを実行しています。例を以下に示します。

$ wget --quiet https://twiki.di.uniroma1.it/twiki/view/Reti_Avanzate/InternetOfThings2021 -O file1
$ wget --quiet https://twiki.di.uniroma1.it/twiki/view/Reti_Avanzate/InternetOfThings2021 -O file2
$ diff -q file1 file2
Files file1 and file2 differ

ご覧のとおり、diff2 つのファイル間の違いが報告されています。なぜでしょうか? 比較してみても、diff -y同じに見えます。

アップデート

との相違点を調べると、git diff --color-words -- file1 file2次の結果が得られました。

違い

どうやら、タイムスタンプが追加されるフィールドがあり、2 つのファイルのうちの 1 つには、<!--GENERATED_HEADERS-->もう 1 つのファイルには存在しない があります。

解決方法はありますか?

答え1

-dumpこの問題は、ページのレンダリング中にタグを無視するオプション付きの w3m を使用することで解決できます。

$ w3m -dump  https://twiki.di.uniroma1.it/twiki/view/Reti_Avanzate/InternetOfThings2021 > file1
$ w3m -dump  https://twiki.di.uniroma1.it/twiki/view/Reti_Avanzate/InternetOfThings2021 > file2
$ if cmp -s file1 file2; then echo "Files are not different"; fi
  Files are not different                                                              
$

答え2

もう1つの「答え」は、これを解決する方法ではなく、原因についてです。使用されているバージョンのTiddlyWikiは、その出力を生成するようです。ランダムなタグ順HTML 要素内。例:

--- file1
+++ file2
@@ -703,881 +703,881 @@
[...]
-<td valign="top" bgcolor="#ffffff" class="twikiTableCol2" align="left"> r1 </td>
[...]
+<td bgcolor="#ffffff" class="twikiTableCol2" align="left" valign="top"> r1 </td>
[...]

これは、テーブル、画像、リンク内の属性に対して繰り返されます。

関連情報