
Cuando las orugas chocan con los antiorugas, los agentes grasos acuden al rescate
Si eres un rastreador, sabrás que Nokogiri es el mejor analizando páginas web en la comunidad Ruby, pero últimamente he estado recibiendo muchas quejas de gente que dice que a los dos días de escribir un script, el sitio de destino es baneado. Pero últimamente, he estado recibiendo muchas quejas de gente que dice que acaba de escribir un script rastreador que se ejecuta durante un par de días y luego es baneado del sitio de destino, que es como comer olla caliente sin salsa para mojar - casi divertido.
La semana pasada había un amigo haciendo un sistema de comparación de precios, al coger el precio de una determinada plataforma de comercio electrónico, tres cambios consecutivos de IP del servidor se bloquearon. Entonces le dejé probarProxy dinámico residencial para ipipgoLos buenos, vuelven a la vida en el mismo sitio. El truco aquí es realmente simple:Con una dirección IP a nivel de usuario real, el sitio no puede saber si se trata de una máquina o de una persona real..
Manos a la obra con el chaleco de Nokogiri.
Empecemos con una plantilla de configuración básica (recuerda sustituir your_api_key por el token real que obtiene el backend de ipipgo):
require 'nokogiri
require "net/http
Obtener proxy dinámico ipipgo
def fetch_proxy
api_url = "https://api.ipipgo.com/v1/proxy?key=your_api_key&type=rotating"
response = Net::HTTP.get(URI(api_url))
JSON.parse(response)['proxies'].sample
end
proxy = fetch_proxy
uri = URI('https://target-site.com')
Net::HTTP.start(uri.host, uri.port, proxy_addr: proxy['ip'], proxy_addr.
proxy_addr: proxy['ip'],
proxy_port: proxy['puerto'],
proxy_user: proxy['nombre_usuario'],
proxy_pass: proxy['contraseña']) do |http|
doc = Nokogiri::HTML(http.get(uri.path).body)
Operaciones de análisis posteriores...
fin
He aquí algunasGuía para evitar el pozo::
- Lo mejor es obtener un nuevo proxy para cada solicitud (la función de auto-rotación de ipipgo ayuda mucho).
- Preste atención al tipo de contrato de agencia, los sitios de comercio electrónico con una mayor tasa de éxito de los agentes residenciales
- No ajuste el tiempo de espera a más de 15 segundos, o afectará a la eficacia de la recogida.
Ejemplos de operaciones de pacotilla en el mundo real
Escenario 1: Superar el límite de frecuencia
Haciendo monitorización de opinión para un cliente que necesita rastrear un determinado foro en busca de nuevos mensajes cada hora. Utilice ipipgo'spaquete de facturación por cantidadesEn la cabecera de la petición, cambiar aleatoriamente User-Agent, con proxy IP pool, congeló la tasa de éxito de recogida de 37% a 92%.
Escenario 2: Descifrar el geobloqueo
Hay un proyecto para hacer el servicio de la vida local, la necesidad de recoger datos de los comerciantes en diferentes ciudades. A través de ipipgo'sAgentes de localización a nivel de ciudadPuede obtener con precisión la dirección IP de la región especificada y eludir con éxito el mecanismo de filtrado geográfico del sitio web.
| Tipo antiarrastre | Programa de respuesta | Tipo de agente recomendado |
|---|---|---|
| Limitación de frecuencia IP | Rotación dinámica + intervalo de solicitud | Agentes de centros de datos |
| blindaje geográfico | IP estática de larga duración | Agente residencial |
Cinco preguntas que sin duda querrá hacer
P: ¿La IP proxy ralentizará la velocidad de recogida?
R: Las líneas premium de ipipgo responden en 800ms de media, ¡mucho más rápido que reintentar después de ser bloqueadas!
P: ¿Con qué frecuencia conviene cambiar de IP?
R: se recomienda cambiar cada vez que se solicite un sitio web de alta anti-subida, el sitio web ordinario se puede cambiar en 5 minutos.
P: ¿Qué debo hacer si encuentro un sitio web HTTPS?
R: El proxy de ipipgo soporta totalmente la conexión SSL, recuerde utilizar https://开头 en el código.
P: ¿Cómo puedo gestionar agentes con varios hilos de rastreo abiertos al mismo tiempo?
R: Utilice la API de ipipgo para obtener grupos de proxy en bloque, con cada hilo asignado individualmente.
P: ¿Qué diferencia hay entre un agente libre y un agente remunerado?
R: Digámoslo así, los proxies gratuitos son como los lavabos públicos - cualquiera puede usarlos, pero cuando llega el momento de usarlos, puede que no encuentres una parada. Los proxies exclusivos de ipipgo son el equivalente a un lavabo privado, limpio y estable.
Di algo desde el corazón.
De hecho, con el proxy IP con el juego abierto plug-in como, la clave para actuar de forma natural. No toda la secuencia de comandos haga clic y agarrar, el resultado es el uso de la sala de IP IP, esto no es obvio para decirle a la gente que eres un robot. ipipipgogrupo de agentes de marcación mixtos...poder mezclar IP residencial, IP de centros de datos e IP móvil es una jugada de alto nivel.
Un último consejo: ¡no seas perezoso con el User-Agent! He visto a gente usar Nokogiri para coger datos, y todos los User-Agents de todas las peticiones muestran Ruby/nethttp, así que sólo está esperando a ser baneado. Con el uso del agente ipipgo, recuerda añadir un array de User-Agent aleatorio en el código, esta es la cualidad básica de los jugadores profesionales.

