Este repositorio contiene un script de Python que realiza web scraping en el sitio web de La República Colombia para extraer noticias y guardarlas en archivos de texto plano.
-
Crear una carpeta para el proyecto.
-
Iniciar un repositorio de Git.
-
Crear un entorno virtual.
-
Crear el archivo .gitignore
-
Instalar las librerías, en este caso:
pip install -r requirements.txt
- Request: Para realizar peticiones.
- Lxml: Para manipular el documento html y utilizar Xpath
-
Actualizar pip si este lo sugiere, también es una buena práctica:
python.exe -m pip install --upgrade pip
'//h2/a[contains(@class, "Sect")]/@href'
Nota: Por alguna razón que la librería
requests
cambia los nodosh2
portext-fill
. Solamente pasa a la hora de obtener los links. Por eso en el código se colocatext-fill
en lugar deh2
.
En el navegador:
$x('//h2/a[contains(@class, "Sect")]/@href').map(x => x.value)
'//h2[not(@class)]/span/text()'
En el navegador:
$x('//h2[not(@class)]/span/text()').map(x => x.wholeText)
'//div[@class="lead"]/p/text()'
En el navegador:
$x('//div[@class="lead"]/p/text()').map(x => x.wholeText)
Con este Xpath se obtienen los nodos 'p' dentro del body.
'//div[@class="html-content"]/p'
Función que realiza el scraping de un artículo de noticias y guarda la información en un archivo de texto.
Args:
- link (str): Link al artículo de noticias.
- today (str): Fecha actual en formato dd-mm-yy.
Función que realiza el scraping de la página principal de La República y llama a la función parse_notice para cada artículo de noticias encontrado.