---
title: "Como Usar Proxies para Rotacionar Endereços IP em Python"
slug: python-ip-rotation
date: 2023-09-07T06:22:17+00:00
modified: 2026-08-26T20:42:18+00:00
permalink: https://brightdata.com.br/blog/procedimentos/python-ip-rotation
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [procedimentos](https://brightdata.com.br/blog/procedimentos)







 [procedimentos](https://brightdata.com.br/blog/procedimentos)

# Como Usar Proxies para Rotacionar Endereços IP em Python

Descubra como usar proxies em Python para rotação de IP no scraping de dados, onde encontrar proxies confiáveis e dicas para evitar bloqueios de sites.

 8 min de leitura





 [ ![](https://media.brightdata.com.br/2023/04/Sooter-Saalu-1-50x50.png) ](https://brightdata.com/blog/authors/sooter-saalu)

 [Sooter Saalu

 ](https://brightdata.com/blog/authors/sooter-saalu)





 ![Python IP rotation](https://media.brightdata.com.br/2023/09/How-to-Rotate-IPs-in-Python.svg)







A rotação de IP usando proxies é essencial no scraping de dados, especialmente ao lidar com sites modernos que podem impor restrições. Distribuir suas solicitações entre vários endereços IP é fundamental para evitar bloqueios ou limitações de taxa. Rotacionar endereços IP dificulta que os sites rastreiem e restrinjam sua atividade de scraping. Isso aumenta a eficiência e a confiabilidade do seu processo de scraping de dados, permitindo extrair informações com mais eficácia. Usar proxies e [rotacionar endereços IP](/blog/how-tos/how-to-rotate-an-ip-address) durante o scraping de dados permite evitar bloqueios baseados em IP, superar limites de taxa e acessar conteúdo com restrição geográfica.

Este artigo explica como implementar proxies no seu fluxo de scraping de dados para rotacionar os endereços IP utilizados. Você vai descobrir onde obter proxies eficazes, quais são as dicas para rotação de IP e [como evitar ser bloqueado](/blog/web-data/web-scraping-without-getting-blocked) pelo site alvo.

## Rotação de IP com Python

Um [processo de scraping comum com Python](/blog/how-tos/web-scraping-with-python) geralmente utiliza uma biblioteca Python como [Requests](https://pypi.org/project/requests/) ou [Scrapy](https://scrapy.org/) para acessar um site e analisar seu conteúdo. Você pode filtrar o conteúdo do site para extrair as informações desejadas. A seguir, um exemplo de um processo de scraping típico:

```none

import requests

url = 'http://example.com'

# Make requests
response = requests.get(url)
print(response.text)

```

Esse processo obtém as informações necessárias e é adequado para casos de uso único ou situações em que você precisa extrair dados apenas uma vez. No entanto, ele usa o IP do seu sistema para fazer solicitações e pode enfrentar problemas com requisições repetidas ou contínuas, onde o site limita o acesso ao longo do tempo.

Os resultados do processo de scraping de exemplo são os seguintes:

```none
<!doctype html>
<html>
<head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans",
…

```

A maioria das bibliotecas Python, como Requests ou Scrapy, voltadas para scraping ou requisições web, oferece uma forma de alternar o endereço IP usado nessas requisições. No entanto, para aproveitar isso, você precisa de uma lista ou fonte de endereços IP válidos. Essas fontes podem ser gratuitas ou comerciais, como os [proxies](/proxy-types) da Bright Data.

As opções comerciais garantem validade e fornecem ferramentas úteis para [gerenciar e rotacionar seus proxies](/products/proxy-manager), assegurando que não haja interrupções no seu processo de scraping. Por exemplo, a Bright Data oferece diversas categorias de proxies com preços diferenciados com base no caso de uso, na escalabilidade e na garantia de acesso desbloqueado aos dados solicitados:

![Serviços de Proxy da Bright Data para scraping de dados eficiente](https://media.brightdata.com.br/2023/09/Bright-Datas-proxy-services-for-seamless-data-scraping.png)Usando proxies gratuitos, você pode criar uma lista em Python contendo proxies válidos para rotacionar durante o seu processo de scraping:

```none

proxies = ["103.155.217.1:41317", "47.91.56.120:8080", "103.141.143.102:41516", "167.114.96.13:9300", "103.83.232.122:80"]

```

Com isso, você precisa apenas de um mecanismo de rotação que selecione diferentes endereços IP da lista a cada requisição. Em Python, isso seria semelhante à seguinte função:

```none
import random
import requests

def scraping_request(url):

   ip = random.randrange(0, len(proxies))

   ips = {"http": proxies[ip], "https": proxies[ip]}
   response = requests.get(url, proxies=ips)
   print(f"Proxy currently being used: {ips['https']}")
   return response.text

```

Este código seleciona um Proxy aleatório da sua lista cada vez que é chamado. O Proxy é usado nas requisições de scraping.

Incluir um caso de erro para lidar com proxies inválidos resultaria no código de scraping completo com a seguinte aparência:

```none
import random
import requests

proxies = ["103.155.217.1:41317", "47.91.56.120:8080", "103.141.143.102:41516", "167.114.96.13:9300", "103.83.232.122:80"]
def scraping_request(url):

   ip = random.choice(proxies)
   try:
      response = requests.get(url, proxies={"http": ip, "https": ip})
      if response.status_code == 200:
         print(f"Proxy currently being used: {ip}")
   ip = random.randrange(0, len(proxies))

   ips = {"http": proxies[ip], "https": proxies[ip]}
   response = requests.get(url, proxies=ips)
   try:

      if response.status_code == 200:
         print(f"Proxy currently being used: {ips['https']}")
         print(response.text)

      elif response.status_code == 403:
         print("Forbidden client")

      elif response.status_code == 429:
         print("Too many requests")

   except Exception as e:
      print(f"An unexpected error occurred: {e}")


scraping_request("http://example.com")

```

Você também pode usar essa lista rotativa de proxies para realizar suas requisições com qualquer outro framework de scraping, como o Scrapy.

### <a></a>Scraping com Scrapy

Com o Scrapy, você precisa instalar a biblioteca e criar os artefatos de projeto necessários antes de realizar o crawling da web com sucesso.

Você pode instalar o Scrapy usando o gerenciador de pacotes [pip](https://pypi.org/project/pip/) no seu ambiente com Python habilitado:

```none
pip install Scrapy

```

Após a instalação, você pode gerar um projeto Scrapy com alguns arquivos de template no seu diretório atual usando os seguintes comandos:

```none
scrapy startproject sampleproject

cd sampleproject

scrapy genspider samplebot example.com

```

Esses comandos também geram um arquivo de código básico que você pode complementar com um mecanismo de rotação de IP.

Abra o arquivo `sampleproject/spiders/samplebot.pysamplebot.py` e atualize-o com o seguinte código:

```none

import scrapy
import random

proxies = ["103.155.217.1:41317", "47.91.56.120:8080", "103.141.143.102:41516", "167.114.96.13:9300", "103.83.232.122:80"]
ip = random.randrange(0, len(proxies))

class SampleSpider(scrapy.Spider):
    name = "samplebot"
    allowed_domains = ["example.com"]
    start_urls = ["https://example.com"]

    def start_requests(self):
        for url in self.start_urls:
            proxy = random.choice(proxies)
            yield scrapy.Request(url, meta={"proxy": f"http://{proxy}"})

    request = scrapy.Request(
        "http://www.example.com/index.html",
        meta={"proxy": f"http://{ip}"}
    )
    def parse(self, response):
        # Log the proxy being used in the request
        proxy_used = response.meta.get("proxy")
        self.logger.info(f"Proxy used: {proxy_used}")
        print(response.text)

```

Execute o seguinte comando no diretório raiz do projeto para rodar este script de scraping:

```none
scrapy crawl samplebot
```

![Executando o script](https://media.brightdata.com.br/2023/09/Running-the-script.png)## Dicas para Rotação de IP

O scraping de dados evoluiu para uma forma de competição entre sites e scrapers, com os scrapers desenvolvendo novos métodos e técnicas para obter os dados necessários, enquanto os sites encontram novas formas de bloquear o acesso.

A rotação de IP é uma técnica que visa contornar as limitações impostas pelos sites. Para maximizar a eficácia da rotação de IP e minimizar as chances de ser bloqueado pelo site alvo, considere as seguintes dicas:

- **Garanta um pool de proxies amplo e diversificado:** Ao usar rotação de IP, você precisa de um pool de proxies significativo com grande número de proxies e ampla variedade de endereços IP. Essa diversidade ajuda a garantir uma rotação adequada e reduz o risco de uso excessivo de proxies, o que pode levar a limites de taxa e bloqueios. Considere usar múltiplos provedores de proxies com diferentes faixas e localizações de IP. Além disso, considere variar o tempo e os intervalos entre suas requisições com diferentes proxies para simular melhor o comportamento natural do usuário.
- **Tenha mecanismos robustos de tratamento de erros:** Durante o processo de scraping de dados, você pode encontrar diversos erros devido a problemas temporários de conectividade, proxies bloqueados ou mudanças no site alvo. Ao implementar tratamento de erros nos seus scripts, você garante a execução tranquila do processo de scraping, capturando e tratando exceções comuns como erros de conexão, timeouts e erros de status HTTP. Considere configurar circuit breakers para pausar temporariamente o processo de scraping caso um grande número de erros ocorra em um curto período.
- **Teste seus proxies antes de usá-los:** Antes de implantar seu script de scraping em produção, use uma amostra do seu pool de proxies para testar a funcionalidade de rotação de IP e os mecanismos de tratamento de erros em diferentes cenários. Você pode usar sites de exemplo para simular condições do mundo real e garantir que seu script consiga lidar com esses casos.
- **Monitore o desempenho e a eficiência dos proxies:** Monitore regularmente o desempenho dos seus proxies para detectar problemas como tempos de resposta lentos ou falhas frequentes. Acompanhe a taxa de sucesso de cada proxy para identificar os ineficientes. Provedores de proxies como a Bright Data oferecem ferramentas para verificar a saúde e o desempenho dos seus proxies. Ao monitorar o desempenho dos proxies, você pode rapidamente alternar para proxies mais confiáveis e remover os de baixo desempenho do seu pool de rotação.

O scraping de dados é um processo iterativo, e os sites podem mudar sua estrutura e padrões de resposta ou implementar novas medidas para impedir o scraping. Monitore regularmente seu processo de scraping e adapte-se a qualquer mudança para manter a eficácia dos seus esforços de extração de dados.

## <a></a>Conclusão

Este artigo explorou a rotação de IP e como implementá-la no seu processo de scraping com Python. Você também aprendeu dicas práticas para manter a eficácia do seu processo de scraping com Python.

A Bright Data é a sua infraestrutura completa para soluções de scraping de dados. Ela oferece proxies de alta qualidade e éticos, um Navegador de scraping, um IDE para desenvolvimento e processos do seu bot de scraping, conjuntos de dados prontos para uso e diversas ferramentas para rotacionar e gerenciar proxies durante o scraping.

Contate-nosTeste grátis![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Índice







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Como+Usar+Proxies+para+Rotacionar+Endere%C3%A7os+IP+em+Python&u=https://brightdata.com.br/blog/procedimentos/python-ip-rotation) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Como+Usar+Proxies+para+Rotacionar+Endere%C3%A7os+IP+em+Python&url=https://brightdata.com.br/blog/procedimentos/python-ip-rotation) [ ](http://www.reddit.com/submit?title=Como+Usar+Proxies+para+Rotacionar+Endere%C3%A7os+IP+em+Python&url=https://brightdata.com.br/blog/procedimentos/python-ip-rotation)







##  Você também pode estar interessado em

 [ ![Best scraping proxies](https://media.brightdata.com.br/2023/07/Best-web-scraping-proxies.svg) ](https://brightdata.com.br/blog/proxies-101/best-scraping-proxies-guide "Melhores proxies para web scraping: um guia completo")

 [Proxy 101



 ![Antonello Zanini](https://media.brightdata.com.br/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Melhores proxies para web scraping: um guia completo

Quais são os melhores proxies para scraping? Saiba mais sobre os diferentes tipos de proxy e veja qual tipo de proxy é mais adequado às suas necessidades de web scraping.



 25-Jul-2023

 9 min de leitura

 ](https://brightdata.com.br/blog/proxies-101/best-scraping-proxies-guide)

 [ ![Best web scraping services](https://media.brightdata.com.br/2023/06/Best-web-scraping-services.svg) ](https://brightdata.com.br/blog/dados-do-site/best-web-scraping-services-guide "Como escolher o melhor serviço de raspagem da web: Um guia completo")

 [Dados do site



 ![Antonello Zanini](https://media.brightdata.com.br/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Como escolher o melhor serviço de raspagem da web: Um guia completo

Guia dos melhores serviços de raspagem da web Leia sobre o que deve ter em conta ao avaliar um fornecedor de raspagem da web e as 5 coisas a não fazer ao selecionar serviços de raspagem



 28-Jun-2023

 13 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/best-web-scraping-services-guide)

 [ ![](https://media.brightdata.com.br/2023/06/Guide-to-Using-a-Proxy-with-Python-Requests.png) ](https://brightdata.com.br/blog/proxies-101/proxy-with-python-requests "Guia para Usar um Proxy com Python Requests")

 [Proxy 101



 ![](https://media.brightdata.com.br/2023/04/Davis-David-50x50.png)

Davis David





### Guia para Usar um Proxy com Python Requests

Guia de uso de proxy com Python request para scraping de dados e por que isso pode ser útil ao trabalhar em um projeto de scraping de dados.



 18-Jun-2023

 11 min de leitura

 ](https://brightdata.com.br/blog/proxies-101/proxy-with-python-requests)
