En el siguiente artículo vamos a echar un vistazo a InstantNews. En esta era digital, hay una gran cantidad de aplicaciones y servicios públicos disponibles para leer noticias en línea. La mayoría de ellos nos muestran las noticias haciendo uso de su correspondiente GUI.
Para los que vivimos pegados a una terminal todo el día afortunadamente hay una utilidad de línea de comandos para leer noticias. Esta utilidad nos da la posibilidad de recuperar de manera instantánea todo tipo de noticias y las muestra en la Terminal. No necesitaremos ninguna aplicación de GUI. Según su creador también tendremos la posibilidad de utilizar el navegador predeterminado del sistema para leer las noticias del Mundo y ver sus imágenes, aun que esto no es cierto del todo.
En este breve artículo vamos a ver cómo instalar InstantNews en Ubuntu, aun que también está disponible para otros sistemas operativos similares a Unix.
Instalación de InstantNews
La instalación de esta utilidad la he realizado sobre Ubuntu 17.04, pero supongo que en otras versiones funcionará de igual manera. Para realizar la instalación, podremos optar por dos formas igual de sencillas. La utilidad InstantNews puede instalarse utilizando pip o puede compilarse e instalarse directamente desde la fuente.
Instalación mediante PIP
Para realizar esta instalación de InstantNews necesitaremos instalar PIP en Debian, Ubuntu, Linux Mint. Esto podemos hacerlo abriendo una terminal (Ctrl+Alt+T) y escribiendo en ella:
sudo apt-get install python-pip
Una vez instalado PIP, ya podremos instalar InstantNews con el comando en la misma terminal:
pip install instantnews
Instalación con el código fuente
Para compilar desde la fuente, solo tendremos que abrir la terminal (Ctrl+Alt+T) y escribir las siguiente órdenes una por una:
git clone https://github.com/shivam043/instantnews.git cd instantnew sudo python setup.py install
Configurar InstantNews
Instantnews recupera todos los titulares de noticias de News API. Para aquellos que no sepan que es, decir que News API es una API simple y fácil de utilizar que devuelve los metadatos de JSON para los titulares publicados actualmente en una variedad de fuentes de noticias y blogs.
Actualmente ofrece titulares en vivo de unas 70 fuentes populares, como: Ars Technica, BBC, Blooberg, CNN, Daily Mail, Engadget, ESPN, Financial Times, Google News, hacker News, IGN, Mashable, National Geographic, Reddit r / all, Reuters, Speigel Online, Techcrunch, The Guardian, The Hindu, The Huffington Post, The Newyork Times, The Next Web, The Wall street Journal y algunas más.
Para empezar, y antes que nada, necesitaremos una clave API de News API. Para obtenerla tendremos que dirigirnos la siguiente URL y registrarnos. El registro es totalmente gratuito, solo se tarda unos segundos y así podremos obtener la clave API que necesitamos.
Una vez que tengamos en nuestro poder la clave API del sitio de News API, tendremos que editar el archivo .bashrc de nuestro home. Para ello escribimos en la terminal:
vi ~/.bashrc
Al final del archivo, tendremos que agregar la clave API de newsapi como a continuación se muestra:
export IN_API_KEY="PEGA AQUÍ LA CLAVE API DE NEWSAPI"
Que a nadie se le escape que debemos pegar la clave dentro de las comillas dobles. Ahora ya podemos guardar y cerrar el archivo. Ejecuta el siguiente comando para actualizar los cambios.
source ~/.bashrc
Uso básico de InstantNews
Podremos ver la ayuda ejecutando en la terminal:
instantnews -h
Podremos enumerar todos los canales de noticias disponibles. La lista de todos los canales de noticias disponibles la veremos escribiendo en la terminal lo siguiente:
instantnews -sa
La salida de muestra sería algo como lo siguiente:
Como ya mencioné, hay unas 70 fuentes de noticias aproximadamente. Según tengo leído se agregarán más (si se agregaran en castellano, estaría bien). Como puede ver en la salida anterior, todas las fuentes de noticias se enumeran en una sola salida.
También podremos mostrar las categoría de los canales de noticias. Para mostrar toda la categoría de códigos de canal de noticias, solo tendremos que ejecutar:
instantnews --show_all
Para obtener titulares de noticias de un canal, digamos la cnn. solo tendremos que ejecutar el siguiente comando:
instantnews --news cnn
Ahora, la terminal nos mostrará todos los titulares de noticias de la fuente de noticias dada, es decir, de la CNN en nuestro caso.
Al probarlo, noté que no puedo abrir ninguna de las noticias en mi navegador web para leer más sobre ella. Por eso en esta versión más que leer todas las noticias, solo podremos leer el extracto. Supongo que es un error. Por supuesto, no hay código sin errores. Espero que en futuras versiones el desarrollador solucione este problema y agregue algunas características nuevas.
Este proyecto es todavía muy joven, pero está siendo desarrollado activamente. Si encuentras algún otro error o tienes características que te gustaría ver implementadas, puedes notificárselo al autor en la página de GitHub del proyecto.