You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As páginas HTML de matérias do DO-RJ (rio.rj.gov.br) possuem boa estrutura e conteúdo fiel, uma pena que não cumpram minimamente com os padroões vigentes (ePING, IETF, W3C, etc. recomendam UTF-8) nem o cabeçalho mínimo de uma página HTML (deveria extressar charset no meta).
No getHtm.py é suposto que TODAS as páginas façam uso de charset iso-8859-1... Até parece que sim, mas não é correto supor (forçar que seja), o mais seguro é detectar automaticamente a origem antes de converter. Talvez simplesmente mudando materia[0][1:].decode('iso-8859-1').encode('utf8')
para materia[0][1:].encode('utf8')
o Python já se encarregue sozinho disso. Testar: se ficar tudo igual, sinal que o auto-detect funcionou (!). Eventualmente corrigirá algum caso de windows-1250 ou BOM.
Comentários
O http://validator.w3.org/ detectou também iso-8859-1 de amostras, ainda assim os próprios mantenedores do validador lembram que é complicado supor o charset de origem: Checking the character encoding using the validator. Como há uma avalanche de pequenos problemas, o ideal é ter ao menos o charset bem resolvido:
Exemplo1: matéria de 2016, parece tudo em ordem, e confirma iso-8859-1.
Para corrigir todos os problemas subsequentes, basta "limpar" o HTML tendo em vista que a estrutura das matérias é de apenas parágrafos. Isso foi feito com sucesso por um script PHP, clean.php, que pode ser facilmente traduzido para Python (eu ajudo).
Outra dica: iniciativa similar, que já grava em nomes de pasta adequados, podendo ser adaptado para o padrão ePING de nomes (URNs) de normas, https://github.com/andresmrm/trazdia
The text was updated successfully, but these errors were encountered:
As páginas HTML de matérias do DO-RJ (rio.rj.gov.br) possuem boa estrutura e conteúdo fiel, uma pena que não cumpram minimamente com os padroões vigentes (ePING, IETF, W3C, etc. recomendam UTF-8) nem o cabeçalho mínimo de uma página HTML (deveria extressar charset no
meta
).No getHtm.py é suposto que TODAS as páginas façam uso de charset
iso-8859-1
... Até parece que sim, mas não é correto supor (forçar que seja), o mais seguro é detectar automaticamente a origem antes de converter. Talvez simplesmente mudandomateria[0][1:].decode('iso-8859-1').encode('utf8')
para
materia[0][1:].encode('utf8')
o Python já se encarregue sozinho disso. Testar: se ficar tudo igual, sinal que o auto-detect funcionou (!). Eventualmente corrigirá algum caso de
windows-1250
ou BOM.Comentários
O http://validator.w3.org/ detectou também
iso-8859-1
de amostras, ainda assim os próprios mantenedores do validador lembram que é complicado supor o charset de origem: Checking the character encoding using the validator. Como há uma avalanche de pequenos problemas, o ideal é ter ao menos o charset bem resolvido:iso-8859-1
.Para corrigir todos os problemas subsequentes, basta "limpar" o HTML tendo em vista que a estrutura das matérias é de apenas parágrafos. Isso foi feito com sucesso por um script PHP, clean.php, que pode ser facilmente traduzido para Python (eu ajudo).
Outra dica: iniciativa similar, que já grava em nomes de pasta adequados, podendo ser adaptado para o padrão ePING de nomes (URNs) de normas, https://github.com/andresmrm/trazdia
The text was updated successfully, but these errors were encountered: