Trabajo:Bot de twitter - Ofertas de linkedin

From FdIwiki ELP
Jump to: navigation, search

Integrantes

  • Álvaro Corrochano López - GII
  • Pablo Álvarez García - GII

Introducción

Cada día las ofertas de trabajo en linkedin sobre el sector de la informática crecen en volumen, esto hace que sea complicado saber escoger algunas ofertas si eres nuevo en el mundo laboral, nuestra idea del proyecto era simple, crear un bot que publique periodicamente twits con un mismo formato resumiendo todas las ofertas de trabajo que aparezcan en likendin.

Descripción

El formato de las ofertas de trabajo en linkedin es el siguiente:

Infobot.png


Como se puede ver, la información que nos aporta es bastante simple (Puesto y provincia). Nuestra idea sería poder dar el mismo formato a los twits que se publiquen, rápido y sencillo de interpretar, contando ademas con toda la información que es relevante para buscar una trabajo.

El formato que ideamos usar fue este:

Infobot2.png

En resumen contaríamos con:

  • Nivel de experiencia: Si requiere experiencia previa de algún campo.
  • Sector: en el que se ubica la plaza de trabajo.
  • Funciones laborales: en que puesto del sector se trabajaría.
  • Ciudad: Donde está el puesto.
  • Link a la oferta: en linkedin.


Estos 5 campos están presentes en todas las ofertas de trabajo de linkedin así que es sencillo coger la información haciendo un poco de web scraping.

Objetivo

Este proyecto se ha desarrollado como parte del trabajo individual.

Desarrollo

Cuenta de Twitter

El primero paso para conseguir un perfil de desarrollador en twitter es solicitar una cuenta developer, esto nos servirá para poder subir twits automaticamente y tener acceso a la API de twitter en general. Para solicitar la cuenta tendrás que rellenar el formulario y seguir las instrucciones de la web, el resultado de este proceso será la obtencion de unas claves (keys) con las que podremos conectarnos a twitter a traves de un programa:

Infobot3.png


Los campos rellenos con "XXX" son los que tendrías que sustituir por tus claves.
Una vez conseguido el enlace con twitter, empezamos a estudiar como obtener los datos de la web de linkedin mediante webscraping.

Web Scraping en Linkedin

Para realizar Web Scraping lo primero es usar las librerías BeautifulSoup y Requests.

Con Requests podremos acceder al código html de la web, lo que nos da acceso a todos los datos que observamos en la web. Infobot4.png
Con BeautifulSoup le "damos forma" a este formato y lo podemos ir filtrando para obtener los datos que nos interesen, bien sea por clases, etiquetas... Infobot5.png
La idea es filtrar por la clase 'result-card__full-card-link' que tiene el link a la oferta de trabajo y, cogiendo ese link, que el propio script vaya a la página y coja esa información relevante a la que queremos acceder, accediendo a todos los tags h3 (recogiendo los que tienen clase 'job-criteria__subheader') y span (recogiendo los que tengan clase 'job-criteria__text' o 'job-criteria__text--criteria'). Infobot6.png
Una vez hecho esto, solo queda darle formato a lo que ya sería el Tweet:
Infobot7.png
Por último quedaría alojar el código en un servidor y que se ejecutara con el servicio "cron" cada X tiempo para publicar las nuevas ofertas. Aquí hay que tener cuidado con el volumen de twits que subes, porque twitter te puede bloquear la cuenta facilmente si haces smap continuo.

GitHub

Todo el proyecto se va almacenando en este repositorio de GitHub.