Uma página central de artigo fica separada dos cartões de menu, de comentário e de rodapé.
Verifique o que a extração mantém e o que ela remove.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.

Verificar o texto principal extraído de uma página web
Item da verificaçãoConteúdo do HTML salvoSaída de texto extraídoStatus
Título obrigatórioGuia fictício da bandejaGuia fictício da bandejaMantido
Negação / condiçãoNão adicione água até que a bandeja esteja niveladaNão adicione água até que a bandeja esteja niveladaMantido
Número e unidade12 mililitros12 mililitrosMantido
Marcador de navegaçãoNavigationMarkerAusenteVerificação criada pelo leitor: ruído indesejado ausente
Marcador de rodapéFooterMarkerAusenteVerificação criada pelo leitor: ruído indesejado ausente
Marcador de comentáriosCommentsMarkerAusenteVerificaçã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 ↑