
Um HTML é a marcação salva da página. Uma biblioteca é código instalado separadamente e usado pelo leitor. Um hash é uma impressão digital do arquivo, usada para identificar a cópia salva exata. Uma saída None ou vazia representa extração indisponível. Mantenha separados o estado da entrada obtida, o corpo e a extração; um login, um desafio ou um invólucro HTML não é um corpo obtido, e nenhuma renderização nem acesso oculto foi testado.
Verificar o texto principal extraído de uma página web
- Defina o que o agente precisa da página e quais áreas da página estão fora dessa necessidade. Este método trata da qualidade da extração.
- Use o Actor público Google Search Scraper, build 1.0.15, com uma Task para descobrir URLs candidatas se a descoberta for necessária. Substitua toda a amostra salva de três consultas por uma frase de busca pretendida usando `queries` ["one intended phrase"], `engines` ["bing"], `maxResultsPerExecutedQuery` 2, `country` "US", `language` "en", `safeSearch` true e `includeSponsoredResults` false. Os campos nativos de candidatos da busca incluem `engine`, `executedQuery`, `canonicalUrl`, `resultDomain`, `snippet`, `rank`, `page` e `observedAt`. Os registros agregados de saída incluem `queriesRequested`, `searchesCompiled`, `executionsPlanned`, `enginesRequested`, `enginesSuccessful`, `enginesFailed`, `pagesAttempted`, `pagesParsed`, `candidatesSeen`, `resultsSaved`, `engineStatusCounts`, `queryResultCounts` e `stopReason`. O controle atual do Bing com duas linhas retornou URLs candidatas diretas de docs.python.org, com a consulta, rank 1 e 2, page 1 e a hora da observação, mais uma página analisada e stopReason `result_caps_reached`. Ele verifica somente candidatos de escopo limitado, não a recuperação do destino, a extração de texto nem outros engines ou mercados. Somente o Bing tem evidência de engine aceita aqui.
- Obtenha separadamente uma página de destino permitida e preserve a URL final, o horário da recuperação, o tipo de conteúdo e o HTML de origem. O actor de busca não faz essa obtenção. Verifique se a entrada salva contém de fato o texto do artigo pretendido. Mantenha `fetch_failure`, `body_not_in_saved_html` e `extraction_unavailable` separados.
- Execute uma biblioteca separada de extração de texto nesse HTML salvo, com uma versão e opções registradas. O caso de teste de HTML local original foi testado com a versão instalada 2.0.0 usando `trafilatura.extract(html, include_comments=False)`. Observe que a documentação atual descreve a versão 2.3.1, portanto esses fatos de versão devem permanecer separados.
- Defina várias verificações da origem antes de aceitar a saída: título ou trecho obrigatório, negação ou condição, número com a sua unidade e navegação, rodapé ou comentários excluídos. Compare o HTML salvo e o texto retornado. Uma unidade omitida ou uma negação ausente pode inverter o significado.
- Registre cada verificação como retained, changed, missing, unwanted_noise_present ou cannot_resolve, com o localizador exato da origem e o trecho extraído. Conte os fatos verificados somente se isso for útil.
- Se uma verificação crítica falhar, revise o HTML salvo e as configurações de extração em vez de passar texto corrompido ao agente.
- Salve um registro compacto da extração: URL de origem e contexto da recuperação, referência ou hash do HTML, versão e opções do extrator, referência da saída, tabela de verificações e decisão.
Caso de teste fictício original e completo de HTML salvo: o HTML salvo de "Guia fictício da bandeja" tem blocos de navegação, de login e de rodapé, um artigo e uma seção de comentários. O artigo diz "Não adicione água até que a bandeja esteja nivelada" e "Use 12 mililitros de água nesta demonstração fictícia." O comentário e o menu contêm palavras sem relação. Nenhum destino foi obtido ao vivo para este caso de teste.
| Item da verificação | Conteúdo do HTML salvo | Saída de texto extraído | Status |
|---|---|---|---|
| Título obrigatório | Guia fictício da bandeja | Guia fictício da bandeja | Mantido |
| Negação / condição | Não adicione água até que a bandeja esteja nivelada | Não adicione água até que a bandeja esteja nivelada | Mantido |
| Número e unidade | 12 mililitros | 12 mililitros | Mantido |
| Marcador de navegação | NavigationMarker | Ausente | Verificação criada pelo leitor: ruído indesejado ausente |
| Marcador de rodapé | FooterMarker | Ausente | Verificação criada pelo leitor: ruído indesejado ausente |
| Marcador de comentários | CommentsMarker | Ausente | Verificação criada pelo leitor: ruído indesejado ausente |
A chamada do extrator da versão instalada 2.0.0 produziu texto principal não vazio. Uma saída hipotética como "Adicione água. Use 12" falharia em duas verificações, porque a negação e a condição obrigatórias mudaram e a unidade do número está ausente. Uma saída vazia hipotética seria marcada como `extraction_unavailable`, não como um artigo de zero fatos.
Fontes e leituras adicionais
Por Chronometrica · Atualizado
Voltar ao topo ↑
