¿Cómo mantiene Adzuna.co.uk sus web scrapers?

Gracias por la pregunta Sin revelar demasiados secretos comerciales, puedo compartir un poco de cómo lo hacemos (en términos simples, ya que no soy un codificador, con disculpas a nuestro equipo técnico mucho más inteligente por simplificar demasiado su genio).

Mantenemos miles de fuentes y millones de anuncios en cualquier momento solo para el Reino Unido, y dado que tenemos 11 países, puede imaginar que esto se suma a un gran número en las fuentes totales de empleos, que estamos creciendo todo el tiempo para asegurarnos cumplimos nuestra promesa a los usuarios de enumerar “todos los trabajos, en todas partes”.

Para muchas de estas fuentes, recibimos información directamente de la fuente del trabajo, que puede ser una bolsa de trabajo, una compañía de software o una compañía o agente de reclutamiento con el que hemos hablado o nos ha contactado para solicitar que se nos agregue. Por lo general, este es un feed XML, que aunque en teoría está estandarizado, en realidad son ligeramente diferentes cada vez, y admitimos varios métodos de entrega / recogida de este.

Muchas otras fuentes son fragmentos de sitios web (en su mayoría html), que configuramos y configuramos nosotros mismos. Encontramos estos sitios a través de diversos métodos de investigación de escritorio y rastreo.

De hecho, ‘raspamos’ las fuentes XML del mismo grupo de servidores que raspa el sitio web, por lo que de alguna manera los tratamos de la misma manera. Este proceso de raspado es una tubería completa de procesos más pequeños en sí mismos: el raspado en sí mismo a través de un grupo de rastreadores, la normalización / tokenización de los datos, la inserción o no en nuestro índice de búsqueda, deduplicación, etc. Los desafíos aquí son de alguna manera los igual que un motor de búsqueda generalista como Google, y de alguna manera muy diferente, ya que necesitamos muchos más campos de datos estructurados para proporcionar una excelente experiencia de búsqueda de empleo que un motor de búsqueda puramente textual.

Cada nueva fuente es configurada manualmente por una persona técnica en nuestro equipo, luego validada y lanzada, aunque tenemos herramientas cada vez más automatizadas para muchos de estos pasos para hacer esto más fácil y más eficiente. Una vez que una fuente está configurada correctamente, si todo va bien, en teoría no hay más intervención humana …

Nuestro equipo de ingeniería total es bastante pequeño: a partir de enero de 2016, unas 15 personas entre desarrolladores, backend, frontend, fuentes y ciencia de datos, que alimentan no solo nuestros sitios de escritorio y móviles, sino también aplicaciones, datos, herramientas para anunciantes, innovación, etc., así que definitivamente cree en escalar a través de la eficiencia y las grandes personas, no solo en darle mano de obra.

Tenemos varias configuraciones para cada fuente, por ejemplo, cuándo y con qué frecuencia volver a rasparlas. La mayoría de nuestras fuentes funcionan bien, todos los días o varias veces al día. Tenemos herramientas que identifican las que se rompen o parecen problemáticas, y vuelven a una cola de priorización para revisión y reparación manual, lo que también podría implicar hablar con el cliente en el caso de un feed, para lo cual hemos asignado recursos tanto en nuestro equipos empresariales y tecnológicos.

¡Espero que ayude! Siempre estamos buscando agregar grandes ingenieros a nuestro equipo (con experiencia perl en particular), así que si esto le interesa, contáctenos.