He estado desarrollando software webscraping por un tiempo para sitios específicos y estoy buscando llevarlo al siguiente nivel a gran escala. Tengo los fondos listos y estoy tratando de encontrar la mejor manera de proceder.
Aquí hay un diagrama a continuación de cómo se ve el diseño de los procesos
En mi estado actual, lo que he estado haciendo es simplemente cargar los archivos javascript del raspador en un servidor dedicado al que puedo acceder de forma remota y ejecutarlos desde la terminal allí (que probablemente sea un método tan ineficiente)
Por lo tanto, estoy buscando consejos sobre cómo puedo ejecutar mejor, digamos más de 100 raspadores de sitios para que todos tengan el máximo rendimiento.
¿Se haría esto a través de algo como AWS y haciendo algo específicamente?
Sinceramente, estoy realmente atascado y quiero saber cómo proceder y optimizar a medida que construyo para el futuro.
Los raspadores están escritos en Javascript, por lo que debería ser algo compatible con JS.
No estoy buscando un software de webscraping, estoy buscando una manera de alojar/implementar mi código de la mejor manera.
Parece que está intentando migrar su arquitectura de servicio local a alguna basada en la nube para aprovechar su escala.
Si planea utilizar AWS, sugeriría usar su CDK para crear su infraestructura y utilizar AWS Lambda para sus raspadores. https://docs.aws.amazon.com/cdk/v2/guide/home.html
Hay algunos blogs en AWS para la solución de arquitectura de raspado web que puede usar como referencia. Ejemplo: https://aws.amazon.com/blogs/architecture/serverless-architecture-for-a-web-scraping-solution/
Mucho mejor sería convertir su código en imágenes acoplables, que luego podrían usarse fácilmente en múltiples servicios en la nube, lo que facilita el movimiento entre los proveedores para satisfacer sus necesidades. En AWS, se implementará a través de ECS.