Cortando custos sem cortar custos ao coletar dados da Web

Publicados: 2023-02-13
Índice mostra
Retomando > Reiniciando
Servidor x sem servidor
Detector de alteração do site
Automatizando tarefas humanas
Escolha uma nuvem pública em vez de servidores dedicados
Ferramenta de Código Aberto
Terceirizar problemas de conformidade
Torne a validação de dados mais barata usando máquinas
Deixe a escala ditar os termos
Atualize apenas o que mudou
Usando um provedor DaaS como o PromptCloud

Extrair dados da web sem ter um plano em mãos está repleto de riscos. À medida que você se perde em sites complexos e limpeza de dados, seu orçamento será excedido rapidamente. As chances são ainda maiores se você estiver usando recursos de nuvem e não estiver acompanhando os custos incorridos diariamente. Em termos de otimização de custos, você terá que olhar para todo o seu fluxo de trabalho, normalmente incluindo–

  1. Raspando dados da web.
  2. Limpeza e normalização de dados.
  3. Armazenar os dados em um meio como um banco de dados ou um balde S3.
  4. Acessando os dados por meio de chamadas de API ou acesso direto ao local de armazenamento.
  5. Possível criptografia e descriptografia de dados (caso os dados sejam confidenciais e alta segurança seja fundamental).
  6. Processamento dos dados raspados para torná-los utilizáveis ​​para fluxos de trabalho downstream.

Retomando > Reiniciando

Em muitos casos, quando você está coletando dezenas de pontos de dados em milhões de páginas da Web, seu código pode quebrar em algum ponto. Na maioria dos cenários, as pessoas reiniciam toda a tarefa - sim, isso é realmente muito mais fácil de implementar e usar. No entanto, com um pouco de maravilha da engenharia, possivelmente usando um mecanismo de cache, você pode garantir que salvará o ponto de verificação sempre que um trabalho de raspagem for interrompido. Depois de corrigir o problema por trás da quebra, você pode raspar os dados retomando a partir do ponto de verificação salvo.

Servidor x sem servidor

Este ponto é importante para quem não está coletando dados em tempo real, mas sim em lotes. Por exemplo, suponha que você extraia dados de um milhão de páginas da web duas vezes por dia. Cada vez, o trabalho de raspagem leva 2 horas para ser concluído. Portanto, o tempo total gasto para executar a tarefa diariamente é de 2 + 2 = 4 horas. Agora, se você tiver uma configuração baseada em servidor usando algo como uma instância AWS EC-2, você será cobrado por 24 horas, a menos que você manualmente ligue e desligue a instância todas as vezes - uma tarefa árdua e fácil de bagunçar. processo de up. O melhor caminho a seguir aqui será usar uma configuração sem servidor em que você tenha recursos de nuvem em execução sob demanda, como AWS Lambda ou Fargate. Dessa forma, você será cobrado apenas pelas 4 horas que consumir e economizará muito dinheiro a longo prazo. Caso você esteja extraindo dados da web usando spiders automatizados que funcionam 24 horas por dia, 7 dias por semana, você pode escolher a configuração baseada em servidor.

Detector de alteração do site

Você pode estar raspando um milhão de páginas da web de 5 sites - 5 milhões de raspagens de páginas da web no total. Agora, suponha que dois desses sites façam alterações com base na interface do usuário e, ao executar o rastreador, você obtenha os dados errados em seu fluxo de trabalho. Agora você precisará gastar tanto horas de trabalho quanto recursos extras de computação para descobrir qual parte dos dados é inutilizável, atualizar o rastreador e executá-lo novamente para 2 milhões de páginas da web. Tal situação poderia ter sido facilmente evitada se você tivesse executado um script detector de alterações que lhe diria que a aparência de 2 dos sites foi alterada. Isso economizaria tempo, dinheiro e até mesmo uma provável perda de dados.

Automatizando tarefas humanas

Ao criar um fluxo de trabalho de web scraping, várias tarefas serão inicialmente executadas manualmente. Isso pode incluir estágios como verificação e validação de dados, limpeza de dados, formatação e muito mais. Frequentemente, os analistas de dados passam horas e dias executando scripts em suas máquinas locais. Dada a grande quantidade de dados que eles podem estar manipulando, os scripts também podem demorar um pouco para serem executados. A melhor opção aqui é automatizar algumas das etapas após obter o pulso dos dados. Com o tempo, você deve automatizar mais tarefas para aumentar a eficiência.

Escolha uma nuvem pública em vez de servidores dedicados

A menos que você esteja tomando decisões usando um fluxo de dados em que cada milissegundo conta, você pode usar uma nuvem pública em vez de servidores dedicados. Pode haver uma ligeira degradação no desempenho, mas usar servidores dedicados a longo prazo pode fazer com que seus custos de web scraping aumentem sem qualquer limite.

Ferramenta de Código Aberto

A maioria dos softwares licenciados custa uma bomba por meio de assinaturas mensais ou anuais. Caso você precise de recursos extras, como rotação de IP ou limpeza de dados, poderá ser cobrado extra. Além disso, a maioria dessas ferramentas pagas vem com algumas limitações e qualquer adição ou alteração de novos recursos pode levar meses, se aprovada.

Terceirizar problemas de conformidade

Ao coletar dados de toda a web, você precisaria observar vários aspectos legais, como

  1. Se você está capturando qualquer informação pessoal.
  2. O arquivo robot.txt desse site.
  3. As regras que cercam os dados atrás de uma página de login.
  4. Manipulação de conteúdo protegido por direitos autorais.
  5. Garantir que a reutilização de conteúdo não viole as leis.
  6. Estar ciente das leis da localização geográfica de onde você extrai seu conteúdo e onde residem seus usuários finais.

E mais…

Devido à complexidade das leis digitais globais, é fácil encontrar-se no lado errado de uma ação judicial devido a um passo em falso. Por outro lado, nem toda empresa teria uma equipe jurídica para cuidar de tais questões - isso seria caro.

Em vez disso, você pode terceirizar seus requisitos legais para poder receber a ajuda deles sempre que estiver configurando um novo fluxo de raspagem da Web ou decidindo criar um produto usando dados raspados. Serviços jurídicos sob demanda para web scraping fariam mais sentido para empresas pequenas ou médias, enquanto os departamentos jurídicos da Fortune 500 podem lidar com esses problemas internamente.

Torne a validação de dados mais barata usando máquinas

Uma mudança que as empresas podem fazer é usar bibliotecas de terceiros para validar os dados em vez de obter especialistas em dados. Freqüentemente, dezenas de analistas analisam os dados brutos manualmente, fazem certas alterações, geram novas colunas e normalizam os dados. A maioria dessas atividades pode ser automatizada criando fluxos de trabalho usando ferramentas como o AWS Step Functions. Esses fluxos de trabalho podem ser configurados com base em:

  1. Se seus dados vêm na forma de uma transmissão ao vivo ou lotes.
  2. A quantidade de dados que é processada periodicamente.
  3. O tipo de processamento que você deseja fazer nos dados.
  4. O tempo aceitável que um ponto de dados pode levar para percorrer o fluxo de trabalho.
  5. A necessidade de mecanismos de repetição, reversão e reexecução.

A maior vantagem desses fluxos de trabalho é que, se você realmente precisar de algumas verificações manuais, poderá ter uma etapa manual no fluxo de trabalho em que uma pessoa pode dar uma olhada nos dados, fazer alterações, se necessário, e pressionar um botão para mover o fluxo de trabalho para a próxima etapa.

Deixe a escala ditar os termos

A melhor solução de scraping para uma entidade corporativa com milhares de funcionários atendendo em vários países pode não ser econômica para uma startup com 10 funcionários atendendo em uma única cidade. Portanto, tirar ideias de outras empresas pode não ser útil. Além disso, o plano de sucata em sua empresa também pode precisar ser atualizado à medida que você aumenta.

Atualize apenas o que mudou

Suponha que você esteja coletando dados de um site de comércio eletrônico. Você tem vários pontos de dados importantes, como descrição, propriedades, política de devolução, preço, número de avaliações, classificações e muito mais. Agora, caso você atualize esses dados regularmente, talvez prefira atualizar diferentes pontos de dados em intervalos diferentes. Por exemplo, você pode atualizar o preço de hora em hora, as análises e avaliações diariamente e o restante dos pontos de dados todos os meses. Embora essa mudança pareça pequena, ao multiplicar o custo e o esforço por alguns milhões, você perceberá o quanto a atualização apenas do que você precisa pode economizar.

Usando um provedor DaaS como o PromptCloud

Não existe um tamanho único quando se trata de web scraping, e é por isso que nossa equipe da PromptCloud fornece soluções personalizadas para cada empresa com base em seus requisitos de scraping. Nossa solução totalmente personalizável permite que você atualize–

  • Sites de onde você precisa extrair dados.
  • Frequência de raspagem de dados.
  • Pontos de dados a serem extraídos.
  • O mecanismo pelo qual você deseja consumir os dados copiados.

Não importa quantas fontes você conecte, nosso recurso agregador pode ajudá-lo a obter os dados em um único fluxo.

As empresas têm cronogramas apertados em que precisam de fluxos de trabalho funcionando rapidamente. Nossa experiência nos ajuda a montar dutos de sucata em um curto período, uma vez que tenhamos os requisitos. Também ajudamos os clientes a entender o caos dos dados, fornecendo soluções de ponta a ponta. Outros recursos úteis são

  • Serviço de manutenção totalmente gerenciado e implantado na nuvem.
  • Suporte imediato apoiado por SLAs fortes.
  • Baixa latência para que os dados cheguem até você a tempo.
  • Escalabilidade ilimitada com base em seus requisitos.
  • Monitoramento e manutenção de todo o fluxo de trabalho de raspagem.

Como cobramos com base na quantidade de dados que você consome, você não precisa se preocupar com cobranças fixas. Como uma verdadeira solução DaaS, sua fatura mensal é baseada apenas no consumo de dados. Então, inscreva-se agora e obtenha dados a um preço razoável sem atalhos em apenas 4 etapas:

  1. Você nos dá os requisitos.
  2. Damos-lhe dados de amostra.
  3. Finalizaremos a configuração do rastreador se você estiver satisfeito.
  4. Os dados chegam às suas mãos, no formato à sua escolha e através do meio preferido.

Portanto, a escolha é sua e é hora de colocar as rédeas da raspagem na web em suas mãos antes que seus custos aumentem.