Tabla de contenido
Este proyecto es un demo de las características que provee selenium para el scraping de información de la web.
Que hace en el proyecto:
- Scraping de la información de páginas de reclutamiento con selenium.
- Enriquecimiento de información con el API de google maps.
- Persistencia de información a una BD postgres
- Generación de archivo con información persistida
Este proyecto se puede desplegar en cualquier ambiente que tenga python 3.8, sin embargo, algunas librerías dependen de componentes adicionales del SO. Esta probado en ambiente ubuntu 20.04
Los siguientes pasos son los pasos requeridos para ejecutar el proyecto en un SO ubuntu 20.04.
- python 3.8
- postgres
- Obtener un API Key en https://console.cloud.google.com/apis/credentials para acceder al API de google maps
- Clonar el repo
git clone https://github.com/ivancho82/scraping-greenhouse.git
- Instalar dependencias de librerías
sudo apt-get update
sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4
sudo apt-get install libpq5
sudo apt install ./chromedriver/google-chrome-stable_current_amd64.deb
- Instalar los requerimientos
pip install -r requirements.txt
- Setear las variables de entorno
export KEY_GCP=GCP_API_KEY_GOOGLE_MAPS
export PG_HOST=POSTGRES_HOST_URI_IP
export PG_DATABASE=POSTGRES_DATABASE_NAME
export PG_USER=POSTGRES_USER_WITH_DB_ACCESS
export PG_PASSWORD=POSTGRES_USER_PASSWORD
export PG_TABLE=POSTGRES_TABLE_NAME
- Configurar el archivo
params.py
con la lista de las urls a hacer scraping
self.pages =[
"LIST",
"PAGES",
"TO SCRAP"
]
El script genera un archivo data.out con la información que queda persistida e la tabla de postgres
python3 main.py
- Add Changelog
- Add docker compose
- Add README in english
greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Ivan Cuervo - @ivan_cuervo - ivan.cuervom@gmail.com
Project Link: https://github.com/ivancho82/scraping-greenhouse