---
title: "Guia para Usar um Proxy com Python Requests"
slug: proxy-with-python-requests
date: 2023-06-18T05:49:47+00:00
modified: 2026-08-26T21:09:51+00:00
permalink: https://brightdata.com.br/blog/proxies-101/proxy-with-python-requests
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [Proxy 101](https://brightdata.com.br/blog/proxies-101)







 [Proxy 101](https://brightdata.com.br/blog/proxies-101)

# 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.

 11 min de leitura





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

 [Davis David

 ](https://brightdata.com/blog/authors/davis-david)





 ![](https://media.brightdata.com.br/2023/06/Guide-to-Using-a-Proxy-with-Python-Requests.png)







Proxies são endereços IP de um servidor que se conectam à internet em seu nome. Em vez de transmitir suas requisições diretamente aos sites, os proxies as roteiam por meio de um servidor, ocultando seu endereço IP e localização originais. Isso protege sua privacidade, evita rastreamento e bloqueios. Os proxies também criptografam seus dados para maior segurança.

Neste artigo, você aprenderá sobre o uso de proxies com Python requests, especialmente para [scraping de dados](/blog/how-tos/what-is-web-scraping). O scraping de dados envolve a extração de dados de sites, mas muitos sites têm restrições. Os proxies ajudam a [contornar essas restrições](/blog/proxy-101/how-to-bypass-an-ip-ban) alterando seu IP e localização, dificultando a detecção e o bloqueio por parte dos sites. Você também pode usar múltiplos proxies para distribuir as requisições e acelerar o processo.

Em seguida, você aprenderá como implementar um proxy em seu projeto usando o pacote Python Requests.

## <a></a>Como Usar um Proxy com uma Python Request

Para usar um proxy com uma Python request, você precisa estabelecer um novo projeto Python em seu computador para escrever e executar os scripts Python para scraping de dados. Crie um diretório (*ex* `web_scrape_project`) onde você armazenará seus arquivos de código-fonte.

Todos os códigos deste tutorial estão disponíveis neste repositório do GitHub.

## <a></a>Instalar Pacotes

Após criar seu diretório, você precisa instalar os seguintes pacotes Python para enviar requisições à página web e coletar os links:

- Página web da Bright Data

## <a></a>Componentes do Endereço IP do Proxy

Antes de usar um proxy, é importante entender seus componentes. A seguir estão os três componentes principais de um servidor proxy:

1. **Protocolo** indica o tipo de conteúdo que você pode acessar na internet. Os protocolos mais comuns são HTTP e HTTPS.
2. **Endereço** indica onde o servidor proxy está localizado. O endereço pode ser um IP (*ex* `192.167.0.1`) ou um hostname DNS (*ex* `proxyprovider.com`).
3. **Porta** usada para direcionar o tráfego ao processo de servidor correto quando múltiplos serviços são executados em uma única máquina (*ex* número de porta `2000`).

Usando esses três componentes, um endereço IP de proxy ficaria assim: `192.167.0.1:2000` ou `proxyprovider.com:2000`.

## <a></a>Como Definir Proxies Diretamente nas Requests

Existem várias formas de definir proxies em Python requests e, neste artigo, você verá três cenários diferentes. Neste primeiro exemplo, você aprenderá como definir proxies diretamente no módulo requests.

Para começar, você precisa importar os pacotes Requests e Beautiful Soup em seu arquivo Python para scraping de dados. Em seguida, crie um diretório chamado `proxies` que contém informações do servidor proxy para ocultar seu endereço IP ao fazer scraping da página web. Aqui, você deve definir tanto as conexões HTTP quanto HTTPS para a URL do proxy.

Você também precisa definir a variável Python para definir a URL da página web da qual deseja extrair dados. Para este tutorial, a URL é [https://brightdata.com/](/)

Em seguida, você precisa enviar uma requisição GET para a página web usando o método `request.get()`. O método recebe dois argumentos: a URL do site e os proxies. A resposta da página web é então armazenada na variável `response`.

Para coletar os links, use o pacote Beautiful Soup para fazer parsing do conteúdo HTML da página web, passando `response.content` e `html.parser` como argumentos para o método `BeautifulSoup()`.

Em seguida, use o método `find_all()` com `a` como argumento para encontrar todos os links na página web. Por fim, extraia o atributo `href` de cada link usando o método `get()`.

A seguir está o código-fonte completo para definir proxies diretamente nas requests:

```none
# import packages.
import requests
from bs4 import BeautifulSoup

# Define proxies to use.
proxies = {
    'http': 'http://proxyprovider.com:2000',
    'https': 'http://proxyprovider.com:2000',
}

# Define a link to the web page.
url = "https://brightdata.com/"

# Send a GET request to the website.
response = requests.get(url, proxies=proxies)

# Use BeautifulSoup to parse the HTML content of the website.
soup = BeautifulSoup(response.content, "html.parser")

# Find all the links on the website.
links = soup.find_all("a")

# Print all the links.
for link in links:
    print(link.get("href"))

```

Quando você executa este bloco de código, ele envia uma requisição para a página web definida usando o endereço IP do proxy e retorna a resposta que contém todos os links daquela página web:

![](https://media.brightdata.com.br/2023/12/link-to-webpage-2.png)## <a></a>Como Definir Proxies via Variáveis de Ambiente

Às vezes, você precisa usar o mesmo proxy para todas as suas requisições a diferentes páginas web. Nesse caso, faz sentido definir variáveis de ambiente para o seu proxy.

Para tornar as variáveis de ambiente do proxy disponíveis sempre que você executar scripts no shell, execute o seguinte comando no seu terminal:

```none
export HTTP_PROXY='http://proxyprovider.com:2000'
export HTTPS_PROXY='https://proxyprovider.com:2000'

```

Aqui, a variável `HTTP_PROXY` define o servidor proxy para requisições HTTP, e a variável `HTTPS_PROXY` define o servidor proxy para requisições HTTPS.

Neste ponto, seu código Python tem poucas linhas de código e usa as variáveis de ambiente sempre que você faz uma requisição à página web:

```none
# import packages.
import requests
from bs4 import BeautifulSoup

# Define a link to the web page.
url = "https://brightdata.com/"

# Send a GET request to the website.
response = requests.get(url)

# Use BeautifulSoup to parse the HTML content of the website.
soup = BeautifulSoup(response.content, "html.parser")

# Find all the links on the website.
links = soup.find_all("a")

# Print all the links.
for link in links:
    print(link.get("href"))

```

## <a></a>Como Rotacionar Proxies Usando um Método Personalizado e um Array de Proxies

Rotacionar proxies é fundamental porque os sites frequentemente bloqueiam ou restringem o acesso a bots e scrapers quando recebem um grande número de requisições do mesmo endereço IP. Quando isso acontece, os sites podem suspeitar de atividade maliciosa de scraping e, consequentemente, implementar medidas para bloquear ou limitar o acesso.

Ao rotacionar entre diferentes endereços IP de proxy, você pode evitar ser detectado, aparecer como múltiplos usuários orgânicos e contornar a maioria das medidas anti-scraping implementadas no site.

Para rotacionar proxies, você precisa importar algumas bibliotecas Python: Requests, Beautiful Soup e Random.

Em seguida, crie uma lista de proxies para usar durante o processo de rotação. Esta lista deve conter as URLs dos servidores proxy neste formato: http://proxyserver.com:porta:

```none
# List of proxies
proxies = [
    "http://proxyprovider1.com:2010", "http://proxyprovider1.com:2020",
    "http://proxyprovider1.com:2030", "http://proxyprovider2.com:2040",
    "http://proxyprovider2.com:2050", "http://proxyprovider2.com:2060",
    "http://proxyprovider3.com:2070", "http://proxyprovider3.com:2080",
    "http://proxyprovider3.com:2090"
]

```

Em seguida, crie um método personalizado chamado `get_proxy()`. Este método seleciona aleatoriamente um proxy da lista de proxies usando o método `random.choice()` e retorna o proxy selecionado em formato de dicionário (com as chaves HTTP e HTTPS). Você usará este método sempre que enviar uma nova requisição:

```none
# Custom method to rotate proxies
def get_proxy():
    # Choose a random proxy from the list
    proxy = random.choice(proxies)
    # Return a dictionary with the proxy for both http and https protocols
    return {'http': proxy, 'https': proxy}

```

Depois de criar o método `get_proxy()`, você precisa criar um loop que envia um certo número de requisições GET usando os proxies rotacionados. Em cada requisição, o método `get()` usa um proxy escolhido aleatoriamente especificado pelo método `get_proxy()`.

Em seguida, você precisa coletar os links do conteúdo HTML da página web usando o pacote Beautiful Soup, conforme explicado no primeiro exemplo.

Por fim, o código Python captura quaisquer exceções que ocorram durante o processo de requisição e imprime a mensagem de erro no console.

Aqui está o código-fonte completo para este exemplo:

```none
# import packages
import requests
from bs4 import BeautifulSoup
import random

# List of proxies
proxies = [
    "http://proxyprovider1.com:2010", "http://proxyprovider1.com:2020",
    "http://proxyprovider1.com:2030", "http://proxyprovider2.com:2040",
    "http://proxyprovider2.com:2050", "http://proxyprovider2.com:2060",
    "http://proxyprovider3.com:2070", "http://proxyprovider3.com:2080",
    "http://proxyprovider3.com:2090"
]


# Custom method to rotate proxies
def get_proxy():
    # Choose a random proxy from the list
    proxy = random.choice(proxies)
    # Return a dictionary with the proxy for both http and https protocols
    return {'http': proxy, 'https': proxy}


# Send requests using rotated proxies
for i in range(10):
    # Set the URL to scrape
    url = 'https://brightdata.com/'
    try:
        # Send a GET request with a randomly chosen proxy
        response = requests.get(url, proxies=get_proxy())

        # Use BeautifulSoup to parse the HTML content of the website.
        soup = BeautifulSoup(response.content, "html.parser")

        # Find all the links on the website.
        links = soup.find_all("a")

        # Print all the links.
        for link in links:
            print(link.get("href"))
    except requests.exceptions.RequestException as e:
        # Handle any exceptions that may occur during the request
        print(e)

```

## <a></a>Usando o Serviço de Proxy da Bright Data com Python

Se você está procurando um proxy confiável, rápido e estável para suas tarefas de scraping de dados, não procure mais além da Bright Data, uma infraestrutura de dados web que oferece [diferentes tipos de proxies](/proxy-types) para uma ampla variedade de casos de uso.

A Bright Data possui uma grande rede de mais de 400M+ monthly [IPs de proxies residenciais](/proxy-types/residential-proxies) e mais de 770.000 [proxies de datacenter](/proxy-types/datacenter-proxies) que ajudam a fornecer soluções de proxy confiáveis e rápidas. Suas ofertas de proxy são projetadas para ajudá-lo a superar os desafios de scraping de dados, verificação de anúncios e outras atividades online que exigem coleta de dados web anônima e eficiente.

[Integrar os proxies da Bright Data](/integration) em suas Python requests é fácil. Por exemplo, use os Proxies de datacenter para enviar uma requisição à URL usada nos exemplos anteriores.

Se você ainda não tem uma conta, cadastre-se para um teste gratuito da Bright Data e adicione seus dados para registrar sua conta.

Depois de concluir, siga estas etapas para criar seu primeiro proxy:

Clique em **Ver produto proxy** na página de boas-vindas para visualizar os diferentes tipos de proxy oferecidos pela Bright Data:

![Tipos de proxy da Bright Data](https://media.brightdata.com.br/2023/06/bright-data-proxy-types.png)Selecione **Proxies de Datacenter** para criar um novo proxy e, na página seguinte, adicione seus dados e salve:

![Configuração de proxies de datacenter](https://media.brightdata.com.br/2023/06/datacenter-proxies.png)Depois que seu proxy for criado, você pode visualizar os parâmetros importantes (*ex* host, porta, nome de usuário e senha) para começar a acessá-lo e utilizá-lo:

![Tela de Parâmetros de Acesso do Datacenter para configuração de proxy.](https://media.brightdata.com.br/2023/06/datacenter-proxy-parameters.png)Depois de acessar seu proxy, você pode usar as informações dos parâmetros para configurar a URL do proxy e enviar uma requisição usando o pacote Python Requests. O formato da URL do proxy é `username-(session-id)-password@host:port`.

> **Nota:** O `session-id` é um número aleatório criado usando um pacote Python chamado `random`.

A seguir está como ficaria seu exemplo de código para definir seu proxy da Bright Data em uma Python request:

```none
import requests
from bs4 import BeautifulSoup
import random

# Define parameters provided by Brightdata
host = 'brd.superproxy.io'
port = 33335
username = 'username'
password = 'password'
session_id = random.random()

# format your proxy
proxy_url = ('http://{}-session-{}:{}@{}:{}'.format(username, session_id,
                                                     password, host, port))

# define your proxies in dictionary
proxies = {'http': proxy_url, 'https': proxy_url}

# Send a GET request to the website
url = "https://brightdata.com/"
response = requests.get(url, proxies=proxies)

# Use BeautifulSoup to parse the HTML content of the website
soup = BeautifulSoup(response.content, "html.parser")

# Find all the links on the website
links = soup.find_all("a")

# Print all the links
for link in links:
    print(link.get("href"))

```

Aqui, você importa os pacotes e define as variáveis de host, porta, nome de usuário, senha e session\_id do proxy. Em seguida, cria um dicionário `proxies` com as chaves `http` e `https` e as credenciais do proxy. Por fim, você passa o parâmetro `proxies` para a função `requests.get()` para fazer a requisição HTTP e coletar os links da URL.

E é isso! Você acabou de fazer uma requisição bem-sucedida usando o [serviço de proxy](/proxy-types) da Bright Data.

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

Neste artigo, você aprendeu por que precisa de proxies, bem como as diferentes formas de usá-los para enviar uma requisição a uma página web usando o pacote Python Requests.

Com a infraestrutura web da Bright Data, você pode obter proxies confiáveis para seu projeto que cobrem qualquer país ou cidade do mundo. Eles oferecem múltiplas formas de obter os dados necessários por meio de vários tipos de proxies e ferramentas para scraping de dados para atender às suas necessidades específicas.

Seja para coletar dados de pesquisa de mercado, monitorar avaliações online ou rastrear preços de concorrentes, a Bright Data tem os recursos necessários para realizar o trabalho de forma rápida e eficiente.



Teste grátis[Registro no Google![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)](# "Start free with Google")









 Índice







400M+ Residential Proxies

**Get 50% off** on residential proxies for 6 months! Use code **RESIGB50**.

[See pricing](/pricing/proxy-network/residential-proxies "See pricing")

1.3M+ Datacenter Proxies

Pay only for the IP, starting from $0.90.

[See pricing](/pricing/proxy-network/datacenter-proxies "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Guia+para+Usar+um+Proxy+com+Python+Requests&u=https://brightdata.com.br/blog/proxies-101/proxy-with-python-requests) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Guia+para+Usar+um+Proxy+com+Python+Requests&url=https://brightdata.com.br/blog/proxies-101/proxy-with-python-requests) [ ](http://www.reddit.com/submit?title=Guia+para+Usar+um+Proxy+com+Python+Requests&url=https://brightdata.com.br/blog/proxies-101/proxy-with-python-requests)







##  Você também pode estar interessado em

 [ ![Python Proxy Server illustration with laptop and servers.](https://media.brightdata.com.br/2023/12/Python-Proxy-Server.png) ](https://brightdata.com.br/blog/proxies-101/python-proxy-server "O que é um Servidor Proxy Python")

 [Proxy 101



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

Antonello Zanini

Technical Writer





### O que é um Servidor Proxy Python

O Servidor Proxy Python permite o roteamento de solicitações HTTP/S por meio de uma vasta rede de IPs via código Python. Ele suporta recursos como rotação de IP, persistência de sessão e direcionamento geográfico.



 24-Dec-2023

 13 min de leitura

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

 [ ![Python IP rotation](https://media.brightdata.com.br/2023/09/How-to-Rotate-IPs-in-Python.svg) ](https://brightdata.com.br/blog/procedimentos/python-ip-rotation "Como Usar Proxies para Rotacionar Endereços IP em Python")

 [procedimentos



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

Sooter Saalu





### 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.



 07-Sep-2023

 8 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/python-ip-rotation)

 [ ![Guide to using cURL with Python](https://media.brightdata.com.br/2023/04/Guide-to-Using-cURL-with-Python.svg) ](https://brightdata.com.br/blog/procedimentos/curl-with-python "Guia para usar cURL com Python")

 [procedimentos



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

Roel Peters





### Guia para usar cURL com Python

Neste artigo, aprenderá como o Python e o cURL podem ser utilizados em conjunto para automatizar pedidos GET, POST e PUT, e para descarregar ficheiros e páginas web.



 13-Apr-2023

 13 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/curl-with-python)
