Blog > Colleccíon de datos > Poste

Una Guía Completa para Las Publicaciones de Trabajos de Web Scraping

Sunday, April 12, 2020

web scraping job posting with Octoparse
¿Por qué job data es importante?
 

A lo largo de años de trabajo en la industria del web scraping y de hablar con usuarios de todo el mundo, los datos de trabajo se destacan como una de las informaciones más buscadas en la web. Honestamente, me sentí un poco abrumado hasta que me encontré con el informe sobre Gallup's 2019 State of the American Workplace report, que decía que el 51% de los adultos actualmente empleados están buscando nuevos empleos o buscando nuevas oportunidades de trabajo y el 58% de los solicitantes de empleo buscan trabajo en línea, en otras palabras. Este mercado es enorme. Al mismo tiempo, también me sorprendió descubrir que hay tantas maneras de utilizar los datos del trabajo, solo por nombrar algunos:
  1. Alimentando los sitios web de agregación de trabajos con nuevos datos de trabajo.
  2. Recopilación de datos para analizar las tendencias laborales y el mercado laboral.
  3. Rastree los puestos vacantes de la competencia, los planes de compensación y beneficios para obtener una ventaja sobre la competencia.
  4. Encontrar clientes potenciales lanzando su servicio a empresas que están contratando para el mismo.
  5. Las agencias de dotación de personal scraping las bolsas de trabajo para mantener sus bases de datos de trabajo actualizadas.

 

Y confía en mí, estos son solo la punta de un iceberg. Dicho esto,captura las ofertas de trabajo no siempre es lo más fácil de hacer.

Retos para scraping anuncios de trabajo:
 

En primer lugar, deberá decidir dónde extraer esta información. Hay dos tipos principales de fuentes de datos de Trabajo:

  1. Principales sitios de agregación de trabajos como Indeed, Monster, Naukri, ZipRecruiter, Glassdoor, Craiglist, LinkedIn, SimplyHired, reed.co.uk, Jobster, Dice, Facebook, etc.
  2. Cada empresa, grande o pequeña, tiene una sección de carrera en sus sitios web. Scraping y captura esas páginas de forma regular puede darle la lista más actualizada de ofertas de trabajo.

 

[Lectura adicional: 70 fuentes de datos gratuitas increíbles que debes saber]

 
A continuación, necesitará un web scraping para cualquiera de los sitios web mencionados anteriormente. Los portales de trabajo grandes pueden ser extremadamente difíciles de scrape porque casi siempre implementarán técnicas anti-scraping para evitar que los bots de raspado recopilen información de ellos. Algunos de los bloqueos más comunes incluyen bloqueos de IP, seguimiento de actividades de navegación sospechosas, honeypot traps o el uso de Captcha para evitar visitas excesivas a la página. Si está interesado, este artículo proporciona buenas ideas sobre cómo evitar algunos de anti-scraping más comunes. Por el contrario, las secciones de carrera de la empresa suelen ser más fáciles de scraping. Sin embargo, como cada compañía tiene su propia interfaz web/sitio web, requiere configurar un rastreador para cada compañía por separado. De modo que, no solo el costo inicial es alto, sino que también es difícil mantener los rastreadores (crawler) a medida que los sitios web experimentan cambios con bastante frecuencia.

 

 

¿Cuáles son las opciones para scrape datos de Trabajo?

Hay algunas opciones sobre cómo puede scrape listas de trabajos de la web.

1. Contratación de un servicio de web scraping (Daas)
Estas compañías proporcionan lo que generalmente se conoce como "servicio administrado". Algunos proveedores conocidos de scraping web son Scrapinghub, Datahen, Data Hero, etc. Ellos recibirán sus solicitudes y configurarán lo que sea necesario para hacer el trabajo, como los scripts, los servidores, los proxies IP, etc. Datos se le proporcionará en el formato y las frecuencias requeridas. Los servicios de scraping suelen cobrar en función de la cantidad de sitios web, la cantidad de datos que se deben buscar y las frecuencias del rastreo. Algunas compañías cobran adicional por la cantidad de campos de datos y almacenamiento de datos. La complejidad del sitio web es, por supuesto, un factor importante que podría haber afectado el precio final. Por cada configuración de sitio web, generalmente hay una tarifa de configuración única y una tarifa de mantenimiento mensual.

Pros:
  • Sin curva de aprendizaje. Los datos se le entregan directamente.
  • Altamente personalizable y adaptado a sus necesidades.

Contras:
  1. El costo puede ser alto, especialmente si tiene muchos sitios web necesita scraping ($350 ~ $2500 por proyecto + $60 ~ $500 tarifa de mantenimiento mensual).
  2. El costo de mantenimiento a largo plazo puede hacer que el presupuesto se salga de control
  3. Eiempo de desarrollo extendido ya que cada sitio web deberá configurarse en su totalidad (3 a 10 días hábiles por sitio).


2. Configuración interno de web scraping
Hacer web scraping internamente con su propio equipo tecnológico y recursos viene con sus ventajas y desventajas.

Pros:
  • Control completo sobre el proceso de rastreo web.
  • Menos desafíos de comunicación, respuesta más rápida.

 

 

Contras:
Alto costo. Una tropa de tecnología cuesta mucho (hasta 20 veces más de lo que he escuchado).

  • Menos experiencia del web scraping es un proceso de nicho que requiere un alto nivel de habilidades técnicas, especialmente si necesita raspar de algunos de los sitios web más populares o si necesita extraer una gran cantidad de datos de manera regular. Comenzar desde cero es difícil incluso si contrata a profesionales, mientras que se espera que los proveedores de servicios de datos, así como las herramientas de scraping, tengan más experiencia para abordar los obstáculos imprevistos.
  • Pérdida de foco. ¿Por qué no dedicar más tiempo y energía a hacer crecer su negocio?
    Requisitos de infraestructura. Ser propietario del proceso de rastreo también significa que tendrá que obtener los servidores para ejecutar los scripts, el almacenamiento de datos y la transferencia. También hay una buena posibilidad de que necesite un proveedor de servicios proxy y un solucionador de Captcha de terceros. El proceso de poner todo esto en su lugar y mantenerlo a diario puede ser extremadamente agotador e ineficiente.
  • Bastante problemático por mantenimiento. Las secuencias de comandos deben actualizarse o incluso reescribirse todo el tiempo, ya que se interrumpirán cada vez que los sitios web actualicen diseños o códigos.
  • Riesgos legales. El raspado de la web es legal en la mayoría de los casos, aunque hay muchos debates e incluso las leyes no han hecho cumplir explícitamente a un lado u otro. En términos generales, la información pública es segura de raspar y si desea ser más cauteloso al respecto, verifique y evite infringir los TOS (términos de servicio) del sitio web. Dicho esto, en caso de que esto se convierta en una preocupación, la contratación de otra empresa/persona para hacer el trabajo seguramente reducirá el nivel de riesgo asociado.

3. Usando una herramienta de web scraping
Las tecnologías han avanzado y, como cualquier otra cosa, el web scraping ahora puede automatizarse. Existen muchos softwares de raspado web diseñados para que personas no técnicas obtengan datos de la web. Estos llamados raspadores web (web scraper/web crawler) o extractores web atraviesan el sitio web y capturan los datos designados descifrando la estructura HTML de la página web. Podrá "decirle" al raspador lo que necesita a través de "arrastrar" y "clics". El programa aprende sobre lo que necesita a través de su algoritmo incorporado y realiza el raspado automáticamente. La mayoría de las herramientas de extracción de datos se pueden programar para extracción regular y se pueden integrar a su propio sistema.

[Lectura adicional: Top 30 de software gratuito de web scraping]

Pros:
Presupuesto amigable. La mayoría de las herramientas de web scraping admiten pagos mensuales ($60 ~$200 por mes) y algunas incluso ofrecen planes gratuitos que son bastante robustos (como el que uso).

  • Codificador amigable. La mayoría de ellos son relativamente fáciles de usar y pueden ser manejados por personas con poco o ningún conocimiento técnico. Si desea ahorrar tiempo, algunos proveedores ofrecen servicios de configuración de rastreadores y sesiones de capacitación.
  • Escalable Soporta fácilmente proyectos de todos los tamaños, desde uno hasta miles de sitios web. Amplíe a medida que avanza.
  • Operación fácil y rápida. Dependiendo de sus esfuerzos, se puede construir un rastreador en 10 minutos.
  • Control completo. Una vez que haya aprendido el proceso, puede configurar más rastreadores o modificar los existentes sin buscar ayuda del equipo técnico o del proveedor de servicios.
  • Bajo costo de mantenimiento. Como ya no necesitará una tropa de tecnología para reparar los rastreadores, puede controlar fácilmente el costo de mantenimiento.

Contras:

  • Curva de aprendizaje - Dependiendo del producto que elija, puede llevar algún tiempo aprender el proceso. Los raspadores virtuales como import.iodexi.io, y Octoparse son más fáciles de aprender.
  • Compatibilidad - Todas las herramientas de web scraping afirman que cubren sitios de todo tipo, pero la verdad es que 100% de compatibilidad nunca se logrará cuando intentes aplicar una herramienta a literalmente millones de sitios web.
  • Captcha - La mayoría de las herramientas de raspado web no pueden resolver Captcha.

 

Un verdadero ejemplo de web scraping ...
 
Para que esta publicación sea más útil para usted, he decidido darle un pequeño tutorial sobre cómo raspar Indeed utilizando mi herramienta de raspado favorita de todos los tiempos, Octoparse. En este ejemplo, recopilaré información básica para científicos de datos en la ciudad de Nueva York.

 

Datos a extraer

  1. Título profesional
  2. Locación de trabajo
  3. Nombre del empleador
  4. Descripción del trabajo
  5. Numero de comentarios
  6. URL de la página

indeed data


Prerrequisitos
Descarga Octoparse y tenlo instalado. Sería mejor si está familiarizado con el funcionamiento de Octoparse en general. Echa un vistazo a Octoparse Scraping 101 si eres nuevo en la herramienta. 

 


Crear un proyecto de scraping
1. Inicie Octoparse y cree un nuevo proyecto haciendo clic en "+ Tarea" en Modo avanzado.

create a task in Octoparse
2. Ingrese la URL de destino (https://www.indeed.com/jobs?q=Data%20Scientist&l=New%20York%20State&_ga=2.92303069.138961637.1571107168-1638621315.1571107168) en el cuadro de URL. Esta es la URL copiada de Chrome al buscar "científicos de datos" cerca de "New York" en Indeed.com. Haga clic en "Save URL" para continuar.

step 1 _octoparse

Consejos: dado que estoy usando un monitor de 17 ", siempre me gusta cambiar al modo de pantalla completa al alternar el botón de flujo de trabajo en la parte superior. Esto me da una mejor vista de la página web.

toggle workflow switch
3. Haga clic en el primer título del trabajo. Luego, haga clic en el segundo título del trabajo (o cualquier otro título de trabajo lo hará).

create list in Octoparse

4. Siga las instrucciones proporcionadas en "Action Tips", que ahora lee "10 elements selected". Obviamente quiero hacer clic en abrir cada uno de los títulos seleccionados, por lo que tiene sentido seleccionar "Loop click each element".

create a list in Octoparse

Consejos: Cada vez que haya creado con éxito una lista para buclo, se creará un buclo y se agregará al flujo de trabajo. Vuelva al modo de flujo de trabajo y vea si este es el caso para usted.

workflow in Octoparse

5. Ahora que estoy en la página de trabajo, voy a extraer los datos que necesito haciendo clic en ella. Haga clic en el título del trabajo, la ubicación, el número de revisiones, el nombre de la empresa y la descripción del trabajo.

extract data in Octoparse

6. Una vez que haya terminado de seleccionar los campos necesarios, haga clic en "Extraer datos" en los "Consejos de acción".

extract data

7. A continuación, voy a capturar la URL de la página agregando un campo predefinido.
  • Acceda al flujo de trabajo de la tarea alternando el botón de flujo de trabajo en la parte superior.

  • Con el paso "Extract data" del flujo de trabajo seleccionado, haga clic en "Add pre-defined fieldo"

  • Seleccione "Add current page information", luego "URL de la página web". Esto hará que la URL de la página se recupere junto con todos los demás campos de datos.


extract page URL in Octoparse
Propina:
Octoparse generará automáticamente nombres de campo para los campos de datos capturados. Si necesita cambiar el nombre de los campos de datos, simplemente escriba encima de los campos actuales.
rename data fields

8. Hasta ahora he logrado extraer todos los trabajos enumerados en la primera página, pero definitivamente querré extraer más páginas. Para hacer esto, configuraré la paginación, es decir. haga que el Octoparse rastree los diferentes números de página.

  • Regrese a la página de resultados de búsqueda haciendo clic en el elemento de bucle del flujo de trabajo.
  • Desplácese hacia abajo de la página y busque el botón "Siguiente", haga clic en él.
  • Seleccione "Elemento individual de clic de bucle" en "Loop click single element". Octoparse hará clic en el botón "Next" hasta que llegue a la última página (cuando "Next" ya no se encuentre en la página).

pagination in Octoparse

Propina:
También puede especificar el número de páginas para extraer. Por ejemplo, si desea extraer solo las primeras 3 páginas, ingrese el número "2" para "Finalizar bucle cuando los tiempos de ejecución lleguen a X". De esta forma, Octoparse solo paginará 2 veces y finalizará cuando llegue a la página 3.

pagination in Octoparse

 

9. Tan pronto como llego a la página 2, he notado que el elemento "Next" ya no se detecta correctamente ya que el XPath generado automáticamente ahora rastrea el botón "Privious". Para resolverlo, tendré que modificar el XPath manualmente

  • Con el ciclo de paginación seleccionado, cambie la XPath del elemento individual a //SPAN[contains(text(), 'Next')].
  • Ahora tenemos el botón correcto "Siguiente" detectado

fix pagination in Octoparse

Propina:

Obtenga información sobre cómo modificar XPath cuando falla la XPath generada automáticamente:
Localizar elementos con XPath
Datos de extracción de video con paginación: Sin botón siguiente
Elementos de posicionamiento de video XPath

 

10. Eso es todo. Estás listo. Haga clic en el botón "Extract data" en la parte superior para ejecutar la tarea.

extract data in Octoparse

 

 

Consejos: Tenga en cuenta que si desea probar otros sitios web de reclutamiento (como glassdoor.com), ¡simplemente consulte esta publicación!

 

 

Ultimas palabras

En resumen, seguramente habrá pros y contras con cualquiera de las opciones que elija. El enfoque correcto debe ser uno que se ajuste a sus requisitos específicos (cronograma, presupuesto, tamaño del proyecto, etc.). Obviamente, una solución que funciona bien para las empresas de Fortune 500 puede no funcionar para un estudiante universitario. Dicho esto, evalúe todos los pros y los contras de las diversas opciones y, lo más importante, pruebe completamente la solución antes de comprometerse con una.


¡Descargue Octoparse para iniciar el web scraping o contáctenos para cualquier pregunta sobre el extracción de datos!

Contáctenos Descargarse