Cartões de busca se conectam a bandejas de páginas aceitas, rejeitadas e não resolvidas.
Confira o destino antes de adicioná-lo à sua fila.

Configuração da primeira verificação e contrato da fonte

O build público 1.0.15 do Google Search Scraper oferece suporte a Google, Bing, Brave e DuckDuckGo, mas somente o Bing tem aceitação positiva para este método aqui. A entrada pública atual da Task usa `queries ["AI agents", "small business automation"]`, `engines ["bing"]`, `maxResultsPerExecutedQuery 20`, `country "US"`, `language "en"`, `safeSearch true` e `includeSponsoredResults false`. Para este piloto, substitua as listas inteiras de queries e engines por uma consulta pretendida e `engines ["bing"]`, defina `maxResultsPerExecutedQuery 2`, o país pretendido, o idioma e os mesmos booleanos, observando que não existe ajuste de expansão nem entrada pública de limite de páginas.

Campos nativos do resultado e resumo da saída

Cada linha de resultado do conjunto de dados contém estes campos exatos: `runId`, `country`, `language`, `safeSearch`, `engine`, `executedQuery`, `page`, `rankOnPage`, `rank`, `title`, `canonicalUrl`, `resultDomain`, `snippet`, `isSponsored`, `advertiserDomain`, `observedAt` e `schemaVersion`. Uma linha representa uma observação em um mecanismo, uma consulta, uma página e uma posição. O campo `canonicalUrl` fornece um endereço candidato normalizado, não uma tag canônica HTML verificada nem o link original. Snippets são texto da busca, não o conteúdo obtido da página.

O resumo da execução de saída informa: `queriesRequested`, `searchesCompiled`, `executionsPlanned`, `enginesSuccessful`, `enginesFailed`, `pagesAttempted`, `pagesParsed`, `resultsSaved`, `engineStatusCounts`, `engineResultCounts`, `queryResultCounts` e `stopReason`.

Referência da execução de controle no Bing

Uma execução de controle exata para `Python asyncio documentation` retornou:

  • `queriesRequested`: 1
  • `searchesCompiled`: 1
  • `executionsPlanned`: 1
  • `enginesSuccessful`: 1
  • `enginesFailed`: 0
  • `pagesAttempted`: 1
  • `pagesParsed`: 1
  • `resultsSaved`: 2
  • `engineStatusCounts`: `{"bing": {"ok": 1}}`
  • `engineResultCounts`: `{"bing": 2}`
  • `queryResultCounts`: `{"Python asyncio documentation": 2}`
  • `stopReason`: `result_caps_reached`
  • Resultados retornados: dois URLs diretos de `docs.python.org` nas posições 1 e 2.

Isso prova somente uma amostra delimitada de metadados do Bing. Não testa todos os mercados, operadores de busca, posições repetidas nem a obtenção do destino. As fontes primárias incluem o Google Search Scraper Actor e a Bing Search Results Task.

  1. Defina as páginas de que você precisa e a sua regra de inclusão antes de buscar. O Bing é uma fonte de descoberta com suporte aqui. Use um tema neutro e um limite finito de linhas, em vez de prometer centenas de sites válidos. A descoberta por busca fornece candidatos, não uma promessa de que cada página pode ser coletada.
  2. Use consultas com uma frase pretendida, engines definido como bing e um limite pequeno de contagem de linhas. Inspecione a consulta executada, o mecanismo, os carimbos de tempo e a saída. A redação da consulta muda a sua amostra de origem. Use palavras simples, a menos que você mesmo teste o significado no mecanismo de busca.
  3. Preserve as linhas de resultado retornadas antes de selecionar os alvos. Mantenha o título, o endereço candidato, o host de origem, a posição, a consulta, o horário e a parada da fonte. Rejeite, conforme a sua regra, um endereço quebrado ou que não seja da web. Mantenha um redirecionamento opaco ou um destino pouco claro como não resolvido. Um nome de campo normalizador, como endereço canônico, não prova a identidade real da página original. Mantenha a string retornada sem alteração como evidência de origem.
  4. Confira cada host e caminho candidato em relação ao propósito da sua coleta. Títulos e snippets de busca podem estar antigos ou errados. Inspecione o destino público pelo processo de coleta do leitor quando for necessário. Registre a URL final, o tipo de conteúdo e a evidência da página. Não deduza o conteúdo do produto apenas pelo título. Páginas de login e páginas privadas continuam indisponíveis.
  5. Atribua a cada alvo o estado aceito, rejeitado ou precisa de revisão, com um motivo claro. Aceito significa que o alvo atende à sua verificação naquele momento. Isso não garante sucesso do rastreamento, direitos completos nem dados de produto precisos. Mantenha verificações de destino com falha e lacunas da fonte fora da sua fila aceita.
  6. Una somente endereços de alvo duplicados já revisados sob uma regra segura, mantendo todas as referências de resultado. Mantenha os registros de observação e de alvo separados. Não apague caminhos distintos nem parâmetros de consulta que identificam páginas diferentes. O mesmo host não significa a mesma página. O mesmo título não significa o mesmo alvo.
  7. Monte a sua fila pequena com o endereço do alvo, as referências de origem, a evidência de aceitação, a extração desejada e o estado. Passe os alvos aceitos a um rastreador separado e delimitado, feito para essas páginas. O Actor de busca não executa esse rastreamento nem fornece o texto principal.
  8. Reconcilie as observações coletadas, os candidatos revisados distintos, os alvos aceitos, rejeitados e não resolvidos, e o estado do limite. Zero alvos aceitos pode ser uma lacuna normal, não uma lista para preencher com páginas deduzidas. Termine conferindo um alvo antes de ampliar o seu orçamento de descoberta.

Exemplo resolvido de ficção original

Todos os domínios, palavras e contagens nesta seção são ficção original. Sete observações retornadas apontam para seis endereços candidatos distintos sob uma regra exata de alvo. Duas observações compartilham o endereço `https://garden.example/products`. As outras cinco observações apontam para uma página de produto, um guia de blog, um redirecionamento opaco, uma página de login e um endereço inválido.

1. Sete observações de resultado

Exemplo resolvido de ficção original
ID da observaçãoConsultaPosiçãoObservado emURL retornadaReferência da fonte
obs-1garden tools12026-10-13T06:20:14Zhttps://garden.example/productsMecanismo Bing, página 1
obs-2indoor plants22026-10-13T06:20:15Zhttps://garden.example/productsMecanismo Bing, página 1
obs-3garden tools32026-10-13T06:20:16Zhttps://garden.example/items/shearsMecanismo Bing, página 1
obs-4indoor plants42026-10-13T06:20:17Zhttps://blog.example/guideMecanismo Bing, página 1
obs-5garden tools52026-10-13T06:20:18Zhttps://redirect.example/outMecanismo Bing, página 1
obs-6indoor plants62026-10-13T06:20:19Zhttps://account.example/loginMecanismo Bing, página 1
obs-7garden tools72026-10-13T06:20:20Zftp://invalid.example/fileMecanismo Bing, página 1

2. Seis candidatos a alvo distintos e seus estados

Exemplo resolvido de ficção original
URL do alvo candidatoResultado da verificação do destinoEstado de relevânciaMotivo / evidência
`https://garden.example/products`HTTP 200 válidoaccepted_targetO índice compartilhado de produtos corresponde ao escopo da coleta.
`https://garden.example/items/shears`HTTP 200 válidoaccepted_targetA página de produto específico corresponde ao escopo da coleta.
`https://blog.example/guide`HTTP 200 válidorejected_targetO guia de blog é irrelevante para a coleta de produtos.
`https://redirect.example/out`Indisponível / opaconeeds_reviewO redirecionamento opaco não pode ser verificado diretamente.
`https://account.example/login`Login exigidoneeds_reviewO destino exige autenticação; indisponível.
`ftp://invalid.example/file`Esquema diferente de HTTPrejected_targetEndereço malformado ou não HTTP viola a regra de coleta.

3. Dois alvos aceitos na fila

Exemplo resolvido de ficção original
Endereço do alvoReferências de origemEvidência da verificaçãoPróxima extração desejadaEstado do alvo
`https://garden.example/products`obs-1, obs-2Status HTTP 200 verificado, atende aos critérios de índice de produtosExtrair a lista de itens da categoriaaccepted
`https://garden.example/items/shears`obs-3Status HTTP 200 verificado, atende aos critérios de produto únicoExtrair detalhes e preço do produtoaccepted

A reconciliação mostra seis candidatos que resultam em dois alvos aceitos, dois alvos rejeitados e dois alvos não resolvidos. As duas observações do índice de produtos permanecem ligadas a um alvo da fila, com as referências de consulta, posição e horário das duas. Não chame sete observações de sete sites de rastreamento nem descarte a referência duplicada. Se o índice de produtos falhar quando o rastreador separado for executado depois, registre essa falha; uma aceitação anterior não garante a extração.

Fontes e leituras adicionais

Por Chronometrica · Atualizado

Voltar ao topo ↑