Compartilhamento de tecnologia

Scrapy escreve rastreadores

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Scrapy é uma estrutura Python para rastrear dados de sites e extrair informações estruturadas

1. Introdução ao Scrapy

1.Motor
– O mecanismo do Scrapy é o núcleo do controle do fluxo de dados e do acionamento de eventos. Gerencia as solicitações enviadas pelo Spider e as respostas recebidas, bem como processa os Itens gerados pelo Spider. O motor é a força motriz por trás da operação do Scrapy.

2.Agendador
– O escalonador é responsável por receber as solicitações enviadas pelo mecanismo e enfileirá-las de acordo com determinadas políticas (como prioridade, profundidade, etc.). Quando o mecanismo precisa de uma nova solicitação, o escalonador retira a solicitação da fila e a retorna ao mecanismo. Ele garante o processamento ordenado das solicitações.

3. Baixador
– O downloader é responsável por baixar o conteúdo da web com base nas solicitações enviadas pelo mecanismo Scrapy. Ele usa o protocolo HTTP para se comunicar com o servidor do site e retorna o conteúdo da página da web baixado para o mecanismo Scrapy como resposta. O downloader é o componente principal do Scrapy para obter dados de páginas da web.

4.Aranhas
– Spiders são componentes do Scrapy usados ​​para definir a lógica de rastreamento e analisar o conteúdo da página da web.Eles geram solicitações iniciais com base em regras definidas e processam a resposta retornada pelo downloader para extrair os dados necessários (Item) ou gerar uma nova solicitação (Request) para rastreamento posterior.

5. Pipelines de itens
– Item Pipelines são responsáveis ​​pelo processamento de itens extraídos pelo Spider. Eles podem executar várias tarefas, como limpeza de dados, verificação de integridade de dados e armazenamento de dados em bancos de dados ou arquivos. Ao definir vários Pipelines, os dados podem ser processados ​​de forma flexível para atender a diferentes necessidades.

6. Middlewares para download
– O middleware do downloader está localizado entre o mecanismo Scrapy e o downloader e é usado para lidar com solicitações e respostas. Eles podem modificar a solicitação (como adicionar cabeçalhos de solicitação, definir proxies, etc.) ou a resposta (como processamento de compactação, processamento de redirecionamento, etc.), controlando assim como o Scrapy interage com o site. Middleware é um mecanismo importante para o Scrapy estender sua funcionalidade.

7. Middlewares Spider
– O middleware Spider está localizado entre o mecanismo Scrapy e o Spiders e é usado para processar a entrada (ou seja, resposta) e a saída (ou seja, item e novas solicitações) do Spider. Eles podem modificar ou descartar respostas, tratar exceções e até mesmo modificar ou descartar itens e solicitações geradas por spiders. O middleware Spider fornece a capacidade de inserir funções personalizadas durante a execução do Spider.

O fluxo de dados entre cada componente é mostrado na figura:
Insira a descrição da imagem aqui

  • A partir da URL inicial, o Agendador irá entregá-la ao Downloader para download
  • Após o download, ele será entregue ao Spider para análise.
  • Existem dois tipos de resultados analisados ​​pelo Spider:
  • Um deles são os links que precisam ser rastreados posteriormente, como os links da "próxima página", que serão repassados ​​ao Agendador;
  • O outro são os dados que precisam ser salvos, que são enviados ao Item Pipeline para pós-processamento (análise detalhada, filtragem, armazenamento, etc.)

2. Instale o scrapy

pip install scrapy