Ir para o conteúdo principal
Piloterr
Voltar ao blog
13 de dezembro de 2023

hRequests: Uma Biblioteca de Web Scraping e Automação

Desenvolvido por daijro, o hrequests (human requests) foi projetado para ser um substituto simples, porém configurável, para a biblioteca requests do Python. Ele traz uma série de novos recursos, mantendo a facilidade de uso.

Para scraping em produção, combine técnicas TLS com bypass de anti-bot: comece com O que é impressão digital TLS.

Principais Recursos:

  • Transição Perfeita: Alterne sem esforço entre requisições HTTP e navegação headless.
  • Alto Desempenho: Utiliza gevent para concorrência sem necessidade de monkey-patching.
  • Análise Avançada: Vem com um parser HTML rápido e integrado.
  • Renderização JavaScript: Suporta totalmente a renderização JS, crucial para web scraping moderno.
  • Suporte a HTTP/2: Mantém-se atualizado com os protocolos web mais recentes.
  • Impressões Digitais TLS de Navegadores: Imitam o tráfego real do navegador para maior discrição.
  • Manipulação Eficiente de JSON: Até 10 vezes mais rápido na serialização de JSON em comparação com a biblioteca padrão.
  • Navegação com Navegador: Automação de navegador simplificada, com simulações completas de interações humanas.

Fácil de instalar via pip: pip install -U hrequests[all] e python -m playwright install firefox chromium.

Uso e Documentação

A documentação abrangente disponível no Gitbook detalha tudo, desde requisições GET simples até tarefas complexas de automação de navegador. O módulo suporta métodos HTTP padrão como GET, POST, PUT, DELETE, HEAD, OPTIONS e PATCH, com respostas muito semelhantes às da biblioteca requests original.

Requisições Concorrentes e Preguiçosas

O hrequests introduz conceitos como requisições nohup para operações em segundo plano e concorrência baseada em arrays para lidar com múltiplas requisições simultaneamente.

Análise de HTML e Automação de Navegador

Utilizando PyQuery para scraping eficiente de HTML, o hrequests permite análise detalhada e interação com o conteúdo da web. A automação de navegador suporta navegadores headless e gráficos, com extensões para Chrome e Firefox.

Tratamento de Exceções

A biblioteca oferece métodos robustos para lidar com exceções e timeouts, garantindo a execução confiável de scripts.

Comunidade e Contribuições

Mantido pela comunidade Python, o hrequests é um testemunho do desenvolvimento colaborativo. Contribuições e feedback são sempre bem-vindos, promovendo melhorias contínuas.

Licenciamento e Suporte

Licenciado sob a Apache Software License (Apache-2.0), o hrequests garante compatibilidade com uma ampla gama de projetos. São suportadas versões do Python de 3.7 a 3.11.

Em conclusão, o hrequests é uma ferramenta poderosa para desenvolvedores Python, oferecendo recursos aprimorados e capacidades para requisições web e scraping. Seu design amigável, combinado com funcionalidades avançadas, o torna uma excelente escolha tanto para iniciantes quanto para profissionais experientes em desenvolvimento web com Python.

Mais para ler

Guias e notícias sobre web scraping, proxies e extração de dados.

Web Scraping

Web scraping para o setor automotivo: acompanhando preços de carros e peças no AutoScout24, Mobile.de, Leboncoin e Autodoc

Como plataformas de pricing automotivo usam APIs de scraping para monitorar anúncios de carros usados no AutoScout24, Mobile.de e Leboncoin, e preços de peças nas mais de 30 lojas nacionais da Autodoc. Desenho do pipeline, exemplos de API e um script Python.

Josselin Liebe
Josselin Liebe
Ler
Web Scraping

Web scraping para brand protection: caçando falsificações no AliExpress, Alibaba e Amazon

Como plataformas de brand protection usam APIs de scraping para detectar anúncios falsificados, capturar evidências do vendedor e monitorar republicações no AliExpress, Alibaba, Amazon e outros marketplaces. Desenho do pipeline, exemplos de API e um script Python.

Josselin Liebe
Josselin Liebe
Ler
Web Scraping

Migrando do NetNut: o que fazer após a desativação da rede

O Google tomou medidas contra a rede de proxies NetNut/Popa em conjunto com o FBI e a Lumen. Como repensar sua stack de scraping sem gerenciar proxies por conta própria.

Josselin Liebe
Josselin Liebe
Ler

Pronto para começar?

Sua API de web scraping está a um clique. Comece com +500 créditos, sem infraestrutura para configurar, sem proxies para gerenciar e sem cartão de crédito necessário.

  • +500 créditos
  • Sem cartão de crédito
  • Todos os endpoints incluídos