정적 웹 페이지가 변경될 때 알려주는 스크립트를 작성하려고 합니다. 이를 위해 wget
웹페이지를 다운로드해 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
보시다시피 diff
두 파일의 차이점이 보고됩니다. 왜? 비교를 해봐도 diff -y
제 눈에는 다 똑같아 보이더라구요.
고쳐 쓰다
차이점을 찾아보니 git diff --color-words -- file1 file2
다음과 같은 결과가 나왔습니다.
분명히 타임스탬프가 추가된 필드가 있는데 두 파일 중 하나에는 <!--GENERATED_HEADERS-->
다른 파일에는 타임스탬프가 없습니다.
문제를 해결하는 방법에 대한 아이디어가 있습니까?
답변1
w3m을 사용하고 -dump
페이지를 렌더링할 때 태그를 무시하는 옵션을 사용하면 이 문제를 해결할 수 있습니다.
$ 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
또 다른 "답변"은 이 문제를 해결하는 방법이 아니라 문제의 원인에 대한 것입니다. (분명히) 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>
[...]
테이블, 이미지, 링크의 속성에 대해 이 작업을 반복합니다.