tener publica programa pais otro internet direccion dinamica como cambiar web-scraping ip web-crawler scrapy dynamic-ip

web scraping - publica - Cambiar la dirección IP de forma dinámica?



como tener ip dinamica (7)

Considere el caso, quiero rastrear sitios web con frecuencia, pero mi dirección IP se bloqueó después de algún día / límite.

Entonces, ¿cómo puedo cambiar mi dirección IP dinámicamente o cualquier otra idea?


Algunas aplicaciones VPN le permiten cambiar automáticamente su dirección IP a una nueva dirección IP aleatoria en un intervalo establecido, por ejemplo: cada 2 minutos. ¡Ambos HMA! El software Pro VPN y VPN4ALL admite esta función.


Palabra de advertencia acerca de las VPN, verifique sus Términos y condiciones con cuidado porque rasparlos al usarlos va en contra de su política de usuario (uno de esos ejemplos sería Astrill). Probé una herramienta de raspado y obtuve mi cuenta bloqueada


Puede intentar usar servidores proxy para evitar ser bloqueado. Hay servicios que proporcionan proxies de trabajo. Lo mejor que he intentado es https://gimmeproxy.com - con frecuencia verifican los proxies para varios parámetros.

Para obtener un proxy de ellos, solo necesita hacer la siguiente solicitud:

https://gimmeproxy.com/api/getProxy

Proporcionarán respuesta JSON con todos los datos proxy que puede usar más adelante según sea necesario:

{ "supportsHttps": true, "protocol": "socks5", "ip": "179.162.22.82", "port": "36915", "get": true, "post": true, "cookies": true, "referer": true, "user-agent": true, "anonymityLevel": 1, "websites": { "example": true, "google": false, "amazon": true }, "country": "BR", "tsChecked": 1517952910, "curl": "socks5://179.162.22.82:36915", "ipPort": "179.162.22.82:36915", "type": "socks5", "speed": 37.78, "otherProtocols": {} }

Puedes usarlo así con Curl:

curl -x socks5://179.162.22.82:36915 http://example.com


Si está utilizando R, podría navegar por la web a través de TOR. Creo que TOR restablece su dirección de IP cada 10 minutos (?) Automáticamente. Creo que hay una forma de obligar a TOR a cambiar la IP en intervalos más cortos, pero eso no funcionó para mí. En su lugar, puede configurar varias instancias de TOR y luego cambiar entre las instancias independientes (aquí puede encontrar una buena explicación de cómo configurar múltiples instancias de TOR: https://tor.stackexchange.com/questions/2006/how-to-run-multiple-tor-browsers-with-different-ips )

Después de eso, puede hacer algo como lo siguiente en R (use los puertos de sus navegadores TOR independientes y una lista de agentes de uso. Cada vez que llame al ciclo ''getURL''-function a través de su lista de puertos / useragents)

library(RCurl) port <- c(a list of your ports) proxy <- paste("socks5h://127.0.0.1:",port,sep="") ua <- c(a list of your useragents) opt <- list(proxy=sample(proxy,1), useragent=sample(ua,1), followlocation=TRUE, referer="", timeout=timeout, verbose=verbose, ssl.verifypeer=ssl) webpage <- getURL(url=url,.opts=opt)


Si tienes IP públicas Agrégalos a tu interfaz y si estás usando Linux usa Iptables para cambiar esas direcciones IP públicas.

Iptables, reglas de ejemplo para dos IP

iptables -t nat -A POSTROUTING -m statistic --mode random --probability 0.5 -j SNAT --to-source 192.168.0.2 iptables -t nat -A POSTROUTING -m statistic --mode random --probability 0.5 -j SNAT --to-source 192.168.0.3

Si tienes 4 IPs entonces la probabilidad se convertirá en 0.25.

También puedes crear tu propio proxy con simples pasos.

Estas reglas permitirán que el servidor proxy cambie su IPS saliente.


Un enfoque que use Scrapy hará que el uso de dos componentes sea un RandomProxy y un RotateUserAgentMiddleware y la modificación de DOWNLOADER_MIDDLEWARES como sigue:

DOWNLOADER_MIDDLEWARS

Deberá insertar los nuevos componentes en settings.py

DOWNLOADER_MIDDLEWARES = { ''scrapy.contrib.downloadermiddleware.retry.RetryMiddleware'': 90, ''tutorial.randomproxy.RandomProxy'': 100, ''scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware'': 110, ''scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware'' : None, ''tutorial.spiders.rotate_useragent.RotateUserAgentMiddleware'' :400, }

Random Proxy:
Este componente procesará las solicitudes de Scrapy utilizando un proxy aleatorio de la lista para evitar la prohibición de IP y mejorar la velocidad de rastreo.

Más detalles aquí: ( https://github.com/aivarsk/scrapy-proxies ) Puede crear su lista de proxy desde una búsqueda rápida en Internet. Copie enlaces en el archivo list.txt de acuerdo con el formato url solicitado.

Rotación del agente de usuario

Para cada solicitud de scrapy se utilizará un agente de usuario aleatorio de una lista que defina con anticipación

class RotateUserAgentMiddleware(UserAgentMiddleware): def __init__(self, user_agent=''''): self.user_agent = user_agent def process_request(self, request, spider): ua = random.choice(self.user_agent_list) if ua: request.headers.setdefault(''User-Agent'', ua) # Add desired logging message here. spider.log( u''User-Agent: {} {}''.format(request.headers.get(''User-Agent''), request), level=log.DEBUG ) #the default user_agent_list composes chrome,I E,firefox,Mozilla,opera,netscape #for more user agent strings,you can find it in http://www.useragentstring.com/pages/useragentstring.php user_agent_list = [/ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"/ "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",/ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",/ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6",/ "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1",/ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5",/ "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5",/ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",/ "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",/ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",/ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",/ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",/ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",/ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",/ "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",/ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3",/ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24",/ "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" ]

Más detalles aquí: ( https://gist.github.com/seagatesoft/e7de4e3878035726731d )


  • Prueba una VPN. hidemyass.com es una opción gratuita y fácil
  • Pedir prestado otra computadora