Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 585936|Resposta: 70

[Programa de Console] .net/c# O caminho para a otimização de rastreadores web

  [Copiar link]
Publicado em 19/04/2018 14:21:02 | | | |
0x00

Um rastreador de teias (também conhecido como aranha de teia, bot de teia, mais comumente chamado de caçador de teias na comunidade FOAF) é um programa ou script que automaticamente extrai informações sobre a World Wide Web de acordo com certas regras. Outros nomes menos usados incluem formigas, auto-índices, simuladores ou minhocas.

0x01

Simplificando, crawlers coletam dados de acordo com suas próprias regras, analisam os dados capturados e depois obtêm dados úteis para si mesmos.

0x02

A otimização de rastreadores web pode ser dividida em duas etapas:

1: Otimizar ao extrair dados;

2: Otimizar o processamento dos resultados de captação;

Hoje, estamos apenas falando sobre otimização no processo de scraping!

0x03

Resumi alguns pontos sobre a otimização no processo de rastreamento:

1: Pode ser otimizado no endereço físico, por exemplo: o servidor de recursos alvo é o host Tencent Cloud em Xangai, tentamos escolher o servidor na mesma região, ou seja, o servidor na região de Xangai, não escolhemos o servidor em Pequim, Qingdao e outras regiões, mas também tentamos escolher o servidor na mesma sala de computadores IDC, sabemos que esse site de recursos é o servidor da Tencent Cloud, tentamos colocar o rastreador no servidor Tencent Cloud, não no servidor Alibaba Cloud!

2: Escolha uma rede estável e rápida, geralmente crawlers têm altos requisitos de qualidade de rede, tente não usar a rede doméstica, escolha a rede da empresa ou compre um servidor para capturar dados.

3: Escolha uma linguagem de crawler mais eficiente, ouvi dizer que python é melhor em crawlers, mas não usei e vou testar depois, hoje, eu explico principalmente na linguagem .net.

0x04

Para coisas como compras rápidas, os requisitos para a velocidade de captura são altos, pode ser descrito como uma questão de tempo, cedo para obter os dados, aumentando a chance de captura, a seguir: escrevi uma demo com o console, o teste de captura dos dados deste site, como mostrado na figura abaixo:


(Quanto menor o tempo, mais rápido é)

A classificação dos dados acima:1: Código otimizado nativamente, 2: Código nativo, 3: DLLs plug-in de terceiros (pacotes)

0x05

Por que plugins (pacotes) de terceiros demoram mais? Plug-ins de terceiros são, na verdade, um grande número de encapsulamentos de código nativo, um grande número de julgamentos lógicos e relativamente versáteis, o que pode levar a uma velocidade de rastreamento lenta.

Aqui está o código nativo:



O código nativo está apenas algumas linhas acima.O tempo médio ainda é de 184 milissegundos,Quanto mais simples o código, mais difícil é otimizá-loVocê acha que como o código acima pode ser otimizado para alcançar um tempo médio de 99 milissegundos?A diferença de velocidade dobra!

0x06

Se o servidor de recursos alvo suportar compressão gzip, quando acessarmos o site e o navegador solicitar o site, o cabeçalho da requisição terá os seguintes parâmetros:

Parâmetros do cabeçalho de resposta:






Introdução à "Aceitação-Codificação": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Em termos simples:

O cliente diz:Eu apoio o algoritmo de compressão "gzip, flate, sdch, br", você pode usar o que quiser ao devolver dados.

O garçom disse:Eu costumo suportar o algoritmo de compressão gzip, então vou usar o algoritmo gzip para comprimir os dados para você

O cliente diz:Ok, então vou descriptografar os dados recebidos com o algoritmo gzip

Algoritmo GZIP, que pode comprimir os dados transmitidos e reduzir significativamente o conteúdo transmitido, para que a eficiência das solicitações seja melhorada, então o código otimizado é o seguinte:


Embora seja um detalhe pequeno, pode-se dizer que a eficiência dobra! É equivalente aos dados que você coletou em dois dias, e agora pode ser coletado em 1 dia, e este artigo é dedicado a amigos que aprendem a engatinhar.

Nota: O algoritmo de compressão gzip não tem nada a ver com a linguagem de programação!

Por fim, anexe o código-fonte:

Turistas, se quiserem ver o conteúdo oculto deste post, por favorResposta

Pontuação

Número de participantes2MB+1 contribuir+2 Colapso razão
conNTFS + 1 Muito poderoso!
Um pequeno novato que adora aprender + 1 + 1 Apoie o dono para postar um bom post, e eu também vou postar um bom post!

Veja todas as classificações





Anterior:Relatórios de novos chegados à prática internacional saem
Próximo:.net/c# Tutorial do Sistema de Reconhecimento CAPTCHA de Nova Geração 2.3
Publicado em 31/12/2019 10:48:25 |
Xiaobai não podia se machucar. Existe algum software semelhante à coleta de big data com um clique?
Publicado em 10/06/2019 14:11:09 |
Xiaobai não podia se machucar. Existe algum software semelhante à coleta de big data com um clique?
Publicado em 15/10/2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Publicado em 20/04/2018 12:35:21 |
Obrigado por compartilhar
Publicado em 25/04/2018 11:33:55 |
Colecionação, talvez útil.
Publicado em 17/05/2018 18:02:21 |
A Coleção de Otimização do Caminho para o Web Crawler
Publicado em 18/05/2018 16:10:57 |
oo
Publicado em 18/07/2018 14:43:07 |
Veja se funciona
Publicado em 20/07/2018 10:09:50 |
DADASDSADSAD
Publicado em 13/08/2018 13:06:50 |
Confira este código-fonte
Publicado em 20/08/2018 14:00:52 |

Obrigado por compartilhar
Publicado em 30/08/2018 11:42:26 |
srkskrskrskrskrskrskr
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com