Saltar al contenido

Cómo utilizar la API de Hacker News

API de Hacker News: descripción general

Hoy revisaré la “API de Python no oficial para noticias sobre piratas informáticos”, que se puede encontrar aquí

¿Qué es Hacker News?

Hacker News es un sitio web de noticias sociales dirigido a programadores y emprendedores, que ofrece contenido relacionado con la informática y el espíritu empresarial. [source]

Envoltorio de Python

En Cómo usar la API de Reddit en Python, describimos cómo acceder directamente a la API de Reddit directamente. Otra forma de hacerlo sería utilizar uno de los Envoltorios de Reddit. Una envoltura es un cliente de API, que se usa comúnmente para envolver la API en funciones fáciles de usar haciendo las llamadas a la API. Al usar una envoltura, no tiene que preocuparse por lo que sucede detrás de escena, lo que a veces puede ser más fácil para un principiante. Piense en ello como una interfaz entre Python y un servicio web.

Empezando

Comencemos e instálelo usando el pepita herramienta.

pip search HackerNews
HackerNews                - Python API for Hacker News.

pip install HackerNews

HackerNews instalado con éxito Limpiando… pip show HackerNews – Nombre: HackerNews Versión: 1.3.3 Ubicación: /usr/local/lib/python2.7/dist-packages Requiere: BeautifulSoup4

Documentación de la API

Se sugiere que lea la documentación, que está disponible en este Github página. La API contiene algunas clases (HN y Story). Las clases te proporcionan métodos. Los métodos disponibles para la clase HN son: get_top_stories () Devuelve una lista de objetos Story de la página de inicio de HN get_newest_stories () Devuelve una lista de objetos Story de la página más nueva de HN El método disponible para la clase Story es: print_story () – Imprime los detalles de una historia

Ejecuta el programa

El autor de la API proporciona un ejemplo en su página de Github. El ejemplo imprime las publicaciones principales y nuevas de Hacker News. Abra su editor favorito y copie y pegue el siguiente código.

#!/usr/bin/env python

from hn import HN

hn = HN()

# print top 10 stories from homepage
for story in hn.get_top_stories()[:10]:
    story.print_story()
    print '*' * 50
    print ''

# print 10 latest stories
for story in hn.get_newest_stories()[:10]:
    story.print_story()
    print '*' * 50
    print ''

# print all self posts from the homepage
for story in hn.get_top_stories():
    if story.is_self_post:
        story.print_story()
        print '*' * 50
        print ''

Guárdelo como test_bot.py y ejecútelo. El programa recorrerá cada historia (publicación) sobre noticias de piratas informáticos y le dará las 10 noticias más recientes. Para cada publicación, se mostrará la información que se muestra a continuación. auto publicaciones) dominio – el dominio del enlace (Ninguno para auto publicaciones) puntos – los puntos / karma en el remitente de la historia – el usuario que envió la historia submitter_link – el enlace de perfil de usuario anterior tiempo_publicado – el tiempo de publicación hace num_comments – el número de comentarios tiene comments_link: el enlace a la página de comentarios. Usar una envoltura de Python para una API es agradable y simple, pero intente comprender lo que sucede detrás de escena. Es importante que comprenda lo que está sucediendo en el código y, una vez que lo haya aprendido, puede optar por el contenedor. Intente obtener conocimientos sobre Json y API para comprender cómo funcionan la mayoría de ellos.

Más lectura

HackerNewsAPI

Lista de API de Python

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.