Antecedentes
Eu tenho usado lynx
por alguns anos para fazer o dump automaticamente (via cron), processo (usando awk
, sed
e tr
), então mail
(bsd-mailx) o conteúdo de uma página da web. Tem funcionado muito bem - até recentemente, quando o certificado de segurança do site expirou e os administradores da web idiotas não se preocuparam em atualizá-lo. Agora, a solução automatizada está falhando devido a lynx
balking no certificado e esperando a entrada do usuário antes de continuar.
Tentativa de solução
Então, comecei a procurar outras soluções. curl
parecia promissor, pois tinha uma opção --insecure
. Na verdade, usando-o, posso baixar o texto da página e processá-lo em uma saída de texto mais padrão, que poderia entrar no corpo de um e-mail, depois salvá-lo em um arquivo.
O problema que estou tendo com isso, entretanto, é que esse arquivo está sendo visto pelo sistema como charset=binary
(de acordo com a saída de file -i
) - possivelmente porque ele contém texto em um idioma não latino. alfabeto (cirílico). Portanto, quando eu tento cat
o conteúdo do arquivo no corpo de um email que eu envio para mim, o programa de email (bsd-mailx) quer tratá-lo como um anexo - não o que eu quero - em vez de inserindo-o no corpo do e-mail.
Como estou com dificuldade em entender todos os problemas envolvidos, não estou encontrando uma solução até o momento.
Perguntas
PS: lembro de ter tido um problema semelhante em lynx
, mas isso foi resolvido, IIRC, adicionando a opção -display_charset=UTF-8
ao invocar lynx
.
Atualizar
Aqui, usando a sugestão do Lucas, é o que funciona:
curl --insecure https://my.url.html >/home/user/file.html
lynx -display_charset=UTF-8 -dump -nonumbers -nolist /home/user/file.html | sed fu begin | sed fu end | tr fu >/home/user/file.txt
cat /home/user/file.txt | mail -s "Today's file" [email protected]
Um processo de dois estágios muito complexo e tenho certeza que deve haver maneiras fáceis de otimizar e tornar isso mais elegante, mas ele faz o trabalho. Alguém pode oferecer melhorias? Obviamente, sed fu
e tr fu
são substitutos dos comandos sed
e tr
que estou usando, que são principalmente removendo tags html e espaço em branco estranho.