
Enseñanza práctica del uso de PySpider para colgar proxies
¿Cuál es el mayor temor de los rastreadores? ¡Que te bloqueen la IP está definitivamente entre los tres primeros! Hoy, vamos a hablar de cómo ponerle un chaleco a un crawler en PySpider - usando una IP proxy para mantenerlo a salvo. No te dejes intimidar por esos tutoriales complicados, de hecho, la configuración del proxy es más simple que cocinar fideos.
¿Por qué tengo que utilizar una IP proxy?
Para dar una castaña: usted va al supermercado todos los días para agarrar el precio especial de los huevos, tres días consecutivos con el mismo vestido rojo para ir, el cuarto día de los guardias de seguridad directamente a detener fuera del niño. Proxy IP es un armario de ropa para el rastreador, cada vez que salga y cambiar de llevar. Con el proxy de ipipgo, es equivalente a alquilar una tienda de ropa directamente, con "ropa" de más de 200 países de todo el mundo para elegir.
Configuración del proxy en tres pasos
先导入必备工具包
from pyspider.libs.base_handler import
class MyCrawler(BaseHandler):
crawl_config = {
'proxy': 'http://username:password@proxy_ip:port', 这里填ipipgo提供的代理地址
'headers': {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}
}
@every(minutes=2460)
def on_start(self):
self.crawl('http://目标网站.com', callback=self.index_page)
Lo más destacado:Cuando la dirección proxy se obtiene en el backend de ipipgo, recuerde seleccionar el formato de protocolo HTTP/HTTPS. Se recomienda utilizar IP residencial dinámicaPaquete residencial dinámico (estándar)a 7,67 $/GB es más fácil para los novatos.
Truco de cambio automático de IP dinámica
Me gustaría implementar el cambio automático de IP por petición, utilizando la interfaz API de ipipgo para agarrar y usar:
import random
def get_proxy():
这里调用ipipgo的API接口
proxy_list = ["ip1:port","ip2:port","ip3:port"]
return random.choice(proxy_list)
class Handler(BaseHandler):
def make_request(self, url, callback):
return Request(url,
callback=callback,
proxy=get_proxy()) 每次请求自动换装
Guía para evitar el pozo (sesión de control de calidad)
P: ¿Qué debo hacer si el agente falla de repente?
R: ipipgo cliente viene con la detección de latido del corazón, encontró que la IP se cuelga cortará automáticamente la nueva IP, con el teléfono móvil se conectan automáticamente a WiFi una razón.
P: ¿Cómo puedo comprobar si el proxy funciona?
R: Añada un paso de prueba al rastreador:
self.crawl('http://httpbin.org/ip', callback=self.check_ip)
def check_ip(self, response):
print(response.text) 这里显示的IP应该变成代理IP
Cómo elegir un paquete sin pisar la mina
| Tipo de empresa | Paquetes recomendados | Escenarios aplicables |
|---|---|---|
| Adquisición de datos de alta frecuencia | Viviendas estáticas | 35/IP puede utilizarse durante todo un mes, adecuado para la vigilancia a largo plazo |
| Enterprise Crawler | Residencial dinámico (empresa) | 9,47/GB con canal VIP, ¡consigue datos más rápido! |
| Pequeños proyectos individuales | Residencial dinámico (estándar) | 7,67 Precio de la col, primera opción para la práctica |
最后叨叨句:别在免费代理上浪费时间,之前我测试过,10个免费代理有8个是坏的。ipipgo的TK专线实测不到200ms,跟本地网络差不多快。他们客服还能给定制方案,上次有个兄弟要爬东南亚电商数据,直接给配了跨境专线。

