Como usar Hrequests para Web Scraping

Lucas Mitchell
Automation Engineer
04-Sep-2024
Como usar Hrequests para Web Scraping

Web scraping é uma maneira poderosa de extrair informações de sites, mas geralmente é um desafio quando os sites implementam captchas, limitação de taxa ou proxies para bloquear raspadores indesejados. Neste guia, apresentaremos o hrequests, uma biblioteca de web scraping de alto desempenho, e o guiaremos por seu uso básico, incluindo uma demonstração para raspar um site usando hrequests em combinação com o Capsolver para contornar os desafios do ReCaptcha.
O que é hrequests?
hrequests é uma biblioteca HTTP Python moderna, construída para velocidade e flexibilidade, projetada para lidar com tarefas pesadas de web scraping. Essencialmente, é uma versão aprimorada de solicitações, com uma ênfase mais forte no tratamento de solicitações com mais controle, especialmente em ambientes que exigem manipulação adicional de proxy ou captcha.
A biblioteca oferece vários recursos:
- Suporte a Asyncio para fazer solicitações simultâneas.
- Gerenciamento de sessão para reutilizar conexões de forma eficiente.
- Suporte a proxy para lidar com solicitações por trás de proxies.
- Suporte de limitação de taxa para evitar ser bloqueado.
- Suporte de resolução de captcha por meio de serviços externos.
Pré-requisitos
Antes de mergulhar no uso do hrequests, certifique-se de que os seguintes itens estão instalados:
bash
pip install hrequests capsolver
Certifique-se também de ter uma chave de API Capsolver para resolver captchas se o site que você está raspando exigir isso. Para obter instruções de configuração detalhadas, visite a página do hrequests no GitHub.
Começando com hrequests
Aqui está um exemplo básico de como usar o hrequests para raspar uma página da web:
python
import hrequests
# URL da página da web que queremos raspar
url = 'https://example.com'
# Faça uma simples solicitação GET
response = hrequests.get(url)
# Imprima o código de status
python
print(f"Código de Status: {response.status_code}")
# Imprime o conteúdo da página
print(f"Conteúdo da Página: {response.text}")
Este script básico faz uma solicitação GET para a URL fornecida e imprime o código de status e o conteúdo da página. No entanto, muitos sites são mais complexos e exigem tratamento adicional, como rotação de proxy, falsificação de agente de usuário ou resolução de captcha.
Lidando com captchas com Capsolver e hrequests
Nesta seção, exploraremos como integrar o Capsolver com hrequests para contornar captchas. O Capsolver é um serviço externo que ajuda a resolver vários tipos de captchas, incluindo ReCaptcha V2, que é comumente usado em sites.
Demonstraremos como resolver o ReCaptcha V2 usando o Capsolver e, em seguida, raspar o conteúdo de uma página que requer a resolução do captcha primeiro.
Exemplo: Resolvendo ReCaptcha V2 com Capsolver
python
import capsolver
import hrequests
import os
# Considere usar variáveis de ambiente para informações confidenciais
PROXY = os.getenv("PROXY", "http://username:password@host:port")
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Sua Chave de API Capsolver")
PAGE_URL = os.getenv("PAGE_URL", "PAGE_URL")
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "PAGE_SITE_KEY")
def solve_recaptcha_v2(url, key):
solution = capsolver.solve({
"type": "ReCaptchaV2Task",
"websiteURL": url,
"websiteKey": key,
"proxy": PROXY
})
return solution['solution']['gRecaptchaResponse']
def main():
print("Resolvendo reCaptcha v2")
solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
print("Solução: ", solution)
# Agora que resolvemos o captcha, podemos prosseguir com a raspagem
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
# Enviando uma solicitação GET com a solução de captcha
response = hrequests.get(
PAGE_URL,
headers=headers,
data={"g-recaptcha-response": solution},
python
proxies = {"http": PROXY, "https": PROXY}
)
# Verificando o status e imprimindo o conteúdo da página
if response.status_code == 200:
print("Página recuperada com sucesso!")
print(response.text)
else:
print(f"Falha ao recuperar a página. Código de status: {response.status_code}")
if __name__ == "__main__":
main()
Sinta-se à vontade para estender este script para atender às suas necessidades de raspagem e experimentar recursos adicionais oferecidos pelo hrequests. Sempre certifique-se de que suas atividades de raspagem respeitem os termos de serviço do site e as diretrizes legais.
Feliz raspagem!
Declaração de Conformidade: As informações fornecidas neste blog são apenas para fins informativos. A CapSolver está comprometida em cumprir todas as leis e regulamentos aplicáveis. O uso da rede CapSolver para atividades ilegais, fraudulentas ou abusivas é estritamente proibido e será investigado. Nossas soluções de resolução de captcha melhoram a experiência do usuário enquanto garantem 100% de conformidade ao ajudar a resolver dificuldades de captcha durante a coleta de dados públicos. Incentivamos o uso responsável de nossos serviços. Para mais informações, visite nossos Termos de Serviço e Política de Privacidade.
Mais

Como resolver captchas ao realizar web scraping com o Scrapling e o CapSolver
Scrapling + CapSolver permite raspagem automatizada com ReCaptcha v2/v3 e Cloudflare Turnstile bypass.

Aloísio Vítor
05-Dec-2025

Alterar o User-Agent no Selenium | Passos & Boas Práticas
Alterar o Agente de Usuário no Selenium é um passo crucial para muitas tarefas de raspagem da web. Ajuda a disfarçar o script de automação como um navegador regular...

Emma Foster
05-Dec-2025

Como identificar se `action` é necessário para resolver o Cloudflare Turnstile usando a extensão CapSolver
Aprenda a identificar ações para resolução eficaz de captchas cloudflare turnstile. Siga nosso guia passo a passo sobre o uso das ferramentas e técnicas do Capsolver.

Aloísio Vítor
05-Dec-2025

Descubra o Poder do 9Proxy: Uma Revisão Abrangente
Neste artigo, vamos mostrar a você o que é 9proxy e os serviços que eles oferecem.

Ethan Collins
04-Dec-2025

Web Scraping com Selenium e Python | Resolvendo Captcha Ao Fazer Web Scraping
Neste artigo, você vai se familiarizar com a raspagem de dados da web usando o Selenium e o Python, e aprender a resolver o Captcha envolvido no processo para uma extração de dados eficiente.

Anh Tuan
04-Dec-2025

Suba de nível com o CapSolver Dashboard 3.0!
O Dashboard CapSolver 3.0 foi recentemente atualizado com interação aprimorada e uma série de novas funcionalidades.

Emma Foster
04-Dec-2025

