MyNixOS website logo
Description

Scraping Chilean Media.

A system for extracting news from Chilean media, specifically through Web Scapping from Chilean media. The package allows for news searches using search phrases and date filters, and returns the results in a structured format, ready for analysis. Additionally, it includes functions to clean the extracted data, visualize it, and store it in databases. All of this can be done automatically, facilitating the collection and analysis of relevant information from Chilean media.

Paquete datamedios (Versión 1.2.2)

datamedios es un paquete de R diseñado para facilitar la extracción automatizada de noticias desde medios de comunicación chilenos, haciendo web scraping de medios chilenos. Este paquete permite realizar búsquedas de noticias y filtrarlas por rangos de fechas, entregando los resultados en un formato estructurado y listo para su análisis. Además, incluye funcionalidades para almacenar los datos extraídos en una base de datos de manera opcional (documentación completa).


🔧 Instalación

Para instalarlo desde CRAN:

Instala datamedios desde CRAN:

install.packages("datamedios")
library(datamedios)

Alternativamente, para instalar el paquete desde GitHub, sigue los siguientes pasos:

  1. Asegúrate de tener instalado el paquete devtools. Si no lo tienes, instálalo ejecutando:

    install.packages("devtools")
    
  2. Instala datamedios desde el repositorio de GitHub:

    devtools::install_github("exetrujillo/datamedios")
    

🔄 Uso

Función principal: extraer_noticias_fecha

Esta función permite filtrar noticias por un rango de fechas específico, además de aplicar una frase de búsqueda.

Parámetros:

  • search_query: Frase de búsqueda (obligatorio).
  • fecha_inicio: Fecha de inicio en formato "YYYY-MM-DD" (obligatorio).
  • fecha_fin: Fecha de fin en formato "YYYY-MM-DD" (obligatorio).
  • subir_a_bd: Por defecto está seteado en TRUE, para los tests lo dejamos en FALSE (opcional).
  • fuentes:Es un string con las fuentes a extraer. Puede ser:
    • "todas": Todas las fuentes disponibles.
    • "bbcl": BíoBío como única fuente
    • "emol-todas": Búsqueda simultánea en las fuentes "emol", "guioteca" y "mediosregionales".
    • "emol": Noticias no pagas de El Mercurio.
    • "mediosregionales": Noticias de los diarios regionales propiedad de El Mercurio.
    • "guioteca": Guías especializadas de Emol.
    • O una combinación, solo separando medios por comas, por ejemplo: fuentes = "mediosregionales, bbcl".

Valor devuelto:

Un data.frame con las siguientes columnas:

  • ID: Identificador de la noticia.
  • titulo: Título de la noticia.
  • contenido: Contenido completo.
  • contenido limpio: Resumen o extracto.
  • url: Enlace a la noticia.
  • url_imagen: Url con la imagen principal de la noticia.
  • autor: Autor de la noticia.
  • fecha: Fecha de publicación (formato 'YYYY-MM-DD').
  • resumen: Resumen de la IA o bajada de la nota, según disponibilidad.
  • search_query: Palabra o frase de búsqueda por la que se obtuvo los datos.
  • medio: Medio al que corresponde la noticia.
  • temas: Categorías de la noticia.

Ejemplo de uso:

# Buscar noticias entre el 18 de octubre de 2019 al 18 de octubre de 2020
noticias <- extraer_noticias_fecha("estallido social", "2019-10-18", "2020-10-18", fuentes = "bbcl, emol, mediosregionales")

Función secundaria: extraer_noticias_max_res

Esta función permite obtener noticias desde medios chilenos utilizando una frase de búsqueda. Además, puedes limitar el número de resultados a extraer.

Parámetros:

  • search_query: Frase de búsqueda (obligatorio).
  • max_results: Máximo número de resultados a extraer (opcional).
  • subir_a_bd: Por defecto está seteado en TRUE, pero para los tests lo dejamos en FALSE (opcional).
  • fuentes:Es un string con las fuentes a extraer. Funciona de la misma forma que en extraer_noticias_fecha. Por defecto extrae de todas las fuentes (opcional).

Valor devuelto:

Un data.frame similar al de extraer_noticias_fecha, pero filtrado por max_results.

Ejemplo de uso:

# Buscar noticias relacionadas con "inteligencia artificial"
noticias <- extraer_noticias_max_res("inteligencia artificial", max_results = 100, fuentes= "bbcl")

🔖 Documentación

Adicionalmente, el paquete incluye funciones de limpieza, manejo y visualización de las noticias extraídas. Para visitar la documentación de todos los códigos haga click aquí.

📊 Dependencias

Este paquete utiliza las siguientes dependencias de R para su correcto funcionamiento:

  • dplyr: Manipulación y análisis de datos.

  • httr: Realización de solicitudes HTTP para interactuar con APIs.

  • magrittr: Uso de operadores como %>% para flujos de trabajo más legibles.

  • jsonlite: Procesamiento y conversión de datos en formato JSON.

  • utils: Funciones utilitarias básicas incluidas en R.

  • rlang: Herramientas para manipulación de expresiones.

  • wordcloud2: Generación de nubes de palabras interactivas.

  • tidytext: Análisis de texto basado en datos ordenados.

  • lubridate: Manejo y análisis de datos temporales.

  • rvest: Web scraping de páginas HTML.

  • stringr: Manejo y manipulación de cadenas de texto.

  • xml2: Lectura y manejo de datos en formato XML.

  • purrr: Programación funcional con listas y vectores.

  • DT: Generación de tablas interactivas en HTML desde R.

  • ggplot2: Creación de gráficos sofisticados y personalizados basados en la gramática de los gráficos.

  • plotly: Creación de gráficos interactivos y visualizaciones dinámicas.


🗂️ Licencia

datamedios está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.


👤 Autoría

Este paquete fue desarrollado por:


Metadata

Version

1.2.2

License

Unknown

Platforms (76)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows