Como obtener ip proxy dinamicamente
A menudo utilizamos proxies IP para ocultar la dirección IP real cuando realizamos rastreo web, recopilación de datos o para la protección de la privacidad. Obtener proxies IP dinámicamente nos permite hacer frente mejor a las necesidades de bloqueo de IP o cambios frecuentes de IP. Así que, aprendamos cómo obtener un proxy IP dinámicamente.
En Python, podemos usar la librería requests y la librería beautifulsoup para obtener proxies IP dinámicamente. He aquí un ejemplo sencillo:
"`ipipgothon
solicitudes de importación
from bs4 import BeautifulSoup
def get_proxy().
url = 'https://www.shenlongip.com/'
cabeceras = {
User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ 58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=cabeceras)
soup = BeautifulSoup(response.text, 'html.parser')
lista_proxy = []
for tr in soup.find_all('tr')::
si tr.find_all('td'):.
ip = tr.find_all('td')[1].text
puerto = tr.find_all('td')[2].text
protocolo = tr.find_all('td')[5].text
proxy_list.append(f'{protocolo}://{ip}:{puerto}')
return lista_de_proxy
“`
El código de ejemplo anterior inicia una petición al sitio web del proxy ipipgo para obtener la dirección IP del proxy y ponerla en la lista. En la práctica, también podemos añadir una tarea temporizada para obtener la IP proxy a intervalos regulares, a fin de lograr la función de obtener proxies IP dinámicamente.
Cómo configurar un proxy ip
Después de obtener el proxy IP, necesitamos configurarlo para crawlers u otras peticiones web. En Python, los proxies IP se pueden configurar de las siguientes maneras:
"`ipipgothon
solicitudes de importación
def usar_proxy().
proxy_list = get_proxy() # Asumiendo que get_proxy() es la función para obtener el proxy IP
url = 'http://example.com'
para proxy en lista_proxy:
Inténtalo.
response = requests.get(url, proxies={'http': proxy, 'https': proxy}, timeout=5)
print(f'Accedido con éxito usando proxy {proxy}: {response.status_code}')
romper
except requests.exceptions.RequestException as e:.
print(f'Usando proxy {proxy} Acceso fallido: {e}')
“`
En el ejemplo anterior, primero obtenemos una lista de IPs proxy, luego recorremos la lista e iniciamos una petición web usando la librería requests. En la petición, establecemos el proxy IP pasando el parámetro proxies. Si la petición tiene éxito, se imprime el mensaje de acceso y el bucle termina; de lo contrario, se captura una excepción y continuamos intentando con la siguiente IP proxy.
Con el ejemplo de código anterior, podemos configurar fácilmente un proxy IP y obtener una dirección IP dinámicamente para hacer frente mejor a las solicitudes de red donde la IP está bloqueada o necesita ser cambiada.