
¿Por qué las reseñas de Yelp en un escenario real?
Hace poco vino a verme un amigo que tiene un restaurante y me dijo que quería ver las opiniones de los clientes del local. Hoy en día, no basta con saber cocinar, hay que averiguar las opiniones reales de los usuarios para mejorar el servicio, hay miles de opiniones en Yelp, transcribirlas manualmente puede ser agotador, así que hay que recurrir a la recopilación automatizada.
Pero si se abre directamente el crawler es fácil que se bloquee la IP, sobre todo cuando la solicitud es continua. El año pasado, hubo un caso en el que una marca de cadena utilizó una única IP para capturar datos y, como resultado, desencadenó un control de viento que provocó el apagón de toda la red de la empresa durante tres días, lo que ocasionó grandes pérdidas.
¿Cómo rompen esto las IP proxy?
Aquí tienes una.Percepciones clave: Mecanismos de bloqueo de sitios web se fijan en dos indicadores principales - la frecuencia de las visitas y los rastros de IP. Como si usted va al banco a retirar dinero, el contador todos los días para ver cientos de personas, pero si la misma persona dentro de los diez minutos para venir repetidamente a hacer negocios, el guardia de seguridad debe prestar atención.
Utilizar el servicio de proxy pooling de ipipgo es como cambiarse de ropa + disfraz cada vez que se entra en un banco. Esto se hace en tres pasos:
importar peticiones
from itertools import ciclo
Lista de proxies de ipipgo
proxies = [
"http://user:pass@gateway.ipipgo:9020",
"http://user:pass@gateway.ipipgo:9021".
... Otros nodos
]
proxy_pool = cycle(proxies)
para página en rango(1, 101): proxy_actual = siguiente(proxy_pool)
proxy_actual = siguiente(proxy_pool)
proxy_actual = siguiente(proxy_pool)
resp = requests.get(
f "https://www.yelp.com/biz/xxx/review_feed?start={page20}",
proxies={"http": current_proxy}, timeout=8
timeout=8
)
Lógica de análisis de datos...
except Exception as e.
print(f "Rollover con {current_proxy}: {str(e)}")
Guía práctica para evitar el pozo
No pienses que porque te hayas enrollado con un agente todo va a ir bien, aquí tienes un par delección aprendida con sangre y lágrimas::
1. No utilices proxies gratuitos (por no hablar de la lentitud y la posibilidad de ser atacado por un man-in-the-middle)
2. Cambia aleatoriamente el User-Agent para cada petición, no uses los valores por defecto de Python.
3. Controlar el ritmo de visitas, se recomienda que cada página intervalo de 3-8 segundos de sueño al azar
4. Pausa inmediatamente cuando encuentres el CAPTCHA e inténtalo de nuevo con una nueva IP.
Recomendado para ipipgoIP residencial estática de larga duraciónEste tipo de IP con atributos reales de banda ancha doméstica es más difícil de identificar que las IP de sala de servidores. La prueba real con sus nodos residenciales de EE.UU., la colección continua de 200 páginas antes de desencadenar la verificación, IP habitación ordinaria por lo general 30 páginas en el cuelgue.
Preguntas frecuentes QA
P: ¿Es legal recopilar opiniones de Yelp?
R: Dependiendo del uso que se haga de los datos, se recomienda que sólo se capturen contenidos visibles públicamente y que no se utilicen para la competencia comercial. Lo mejor es consultar a un asesor jurídico
P: ¿Cómo elijo un paquete de agente para ipipgo?
R: Utilice el paquete de pago por uso para proyectos pequeños y elija el paquete mensual para necesidades a largo plazo. Los nuevos suscriptores deben acordarse de obtener el paquete de prueba de tráfico 3G
P: ¿Cuál es el lugar adecuado para almacenar los datos recogidos?
R: Se recomienda almacenarlo en formato CSV, con campos que contengan el contenido del comentario, la valoración y la fecha. No lo almacene directamente en la base de datos, es fácil dejar rastros de la operación
Consejos avanzados: Adquisición distribuida
Cuando sea necesario recoger datos de varias ciudades, puede utilizar el programa de ipipgoPosicionamiento en la ciudadFunción. Por ejemplo, para capturar reseñas de restaurantes en Los Ángeles y Nueva York, especificar las IP de salida de estas dos ciudades por separado puede reducir la probabilidad de ser rastreado.
Aquí tienes un ejemplo de hoja de configuración:
| ciudad objetivo | Área de representación | concurrencia |
|---|---|---|
| Los Ángeles, California | US-LAX | 3 hilos |
| NY | US-NYC | 3 hilos |
Un último recordatorio: la recogida de datos es el arte del equilibrio, tanto de la eficacia como del sigilo. La elección de la herramienta adecuada es sólo el primer paso, y el ajuste continuo de la estrategia con el fin de lograr la estabilidad a largo plazo. Con los servicios de atención al cliente de ipipgo, encontrar problemas técnicos pueden ser directamente a sus ingenieros a los programas ya hechos, más que su propio chisme para ahorrar esfuerzo.

