Estou tentando escrever um script que me notifique quando uma página da web estática for alterada. Para fazer isso, estou usando wget
para baixar a página da web e diff
verificar se ela mudou ou não. Estou executando uma máquina virtual Ubuntu 20.04 LTS. Aqui está o exemplo:
$ 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
Como você pode ver, diff
relata diferenças entre os dois arquivos. Por que? Mesmo se eu tentar compará-los, diff -y
eles parecem iguais para mim.
ATUALIZAR
Procurando diferenças com git diff --color-words -- file1 file2
deu o seguinte resultado:
Aparentemente existe um campo no qual o timestamp é adicionado, e em um dos dois arquivos existe um <!--GENERATED_HEADERS-->
que está ausente no outro.
Alguma ideia de como resolver isso?
Responder1
Você pode resolver esse problema usando w3m com -dump
opção que ignora tags durante a renderização da página.
$ 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
$
Responder2
Mais uma "resposta" não sobre como resolver isso, mas sobre o que causa isso: a versão usada do (aparentemente) TiddlyWiki parece gerar sua saídacom ordem aleatória de tagsem elementos HTML. Exemplos:
--- 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>
[...]
Isso se repete para atributos em tabelas, imagens, links.