
En primer lugar, ¿por qué utilizar BeautifulSoup para encontrar IP proxy?
Los viejos del hierro dedicados a la recopilación de datos saben que muchos sitios ocultan la IP del proxy en la estructura HTML. En este momentoencontrar_todosEs como un detector de metales que puede ayudarte a desenterrar IPs proxy de los recovecos de una página web. Por ejemplo, algunos sitios web pondrán las direcciones IP en un div con una clase llamada "proxy-list", así que usando find_all('div', class_=' proxy-list') podrá encontrarlas todas.
from bs4 import BeautifulSoup
html_doc = """
<div class="proxy-list">
<span>192.168.1.1:8080</span>
<span>10.0.0.1:8888</span>
</div>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
ip_list = [tag.text for tag in soup.find_all('span')]
En segundo lugar, el combate real: sacar los diferentes formatos de la IP proxy
Algunos sitios web son tan astutos que ocultan la IP y el puerto por separado. Este es el momento de jugarcombinaciónarriba. Por ejemplo, encontrar esta estructura:
El código de captura debe escribirse así:
proxies = []
for li in soup.find_all('li', attrs={"data-ip": True})::
ip = li['datos-ip']
puerto = li['puerto-datos']
proxies.append(f"{ip}:{port}")
En tercer lugar, hay que evitar los tres trucos principales del antiescalada
1. El Gran Disfraz: con ipipgo.IP residencial dinámicaCabecera de solicitud de rotación
2. magia del tiempoaleatorio dormir 1-3 segundos después de find_all
3. operaciones distribuidasAPI node harvesting con múltiples ipipgo's al mismo tiempo
IV. Manual para el tratamiento de situaciones especiales
encontrardatos paginadosNo se asuste, coja los enlaces de los números de página y vaya uno por uno:
page_links = [a['href'] for a in soup.find_all('a', class_='page-link')]
for link in page_links.
Recuerda cambiar al proxy ipipgo aquí
response = requests.get(link, proxies={"http": "ipipgo.com:8000"})
V. Tiempo de control de calidad: desminado de las preguntas más frecuentes
P: ¿Por qué find_all devuelve siempre una lista vacía?
R: el ochenta por ciento del sitio utilizaba carga dinámica, en el ipipgoAgente S5Es lo que hay que hacer con Selenium
P: ¿Qué debo hacer si recibo IP duplicadas?
R: Utilice la desduplicación de conjuntos de Python, o simplemente utilice el ipipgo proporcionado por el programaAPI de desduplicación en tiempo real
P: ¿Qué debo hacer si necesito verificar la validez del poder?
R: El paquete de ipipgo viene con elFunción de detección de supervivenciaLe evita tener que escribir sus propias secuencias de comandos de validación.
Sexto, ¿por qué los conductores mayores eligen ipipgo?
1. ExclusivoTasa de supervivencia IP 99,2%Es un gran paso adelante con respecto a la competencia.
2. Apoyotarifa horariaNo voy a malgastar mi dinero en asignaciones temporales.
3. Suministro de productosPlantilla de análisis sintáctico BeautifulSoupLa primera vez que lo vi, pude ponerlo en marcha en cuestión de segundos.
Al final, a decir verdad, en busca de IP proxy es como lavar el oro, la herramienta de nuevo el ganado también debe tener una fuente confiable de la minería. He utilizado cinco o seis proveedores de servicios, o la piscina IP de ipipgo es el más actualizado. Especialmente elFunción de enrutamiento inteligenteEl nodo más rápido se empareja automáticamente con el nodo más rápido, que es mucho más molesto que cambiar manualmente. Recientemente, he estado haciendo la recogida de datos de comercio electrónico, y después de colgar ipipgo, la velocidad de recogida se duplica directamente, la clave no se ha bloqueado, que es tan estable como un perro viejo.

