Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Utilizando el API de New York Times para extraer metadatos

by
Read Time:5 minsLanguages:
This post is part of a series called How to Scrape Web Pages for Metadata.
How to Scrape Web Pages for Metadata

Spanish (Español) translation by Elías Nicolás (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Introducción

La semana pasada, escribí una introducción recopilar páginas web para extraer metadatos, mencionando que no es posible en el sitio de New York Times. El bloqueo pagado de Times bloquea tus intentos de recopilar metadatos básicos. Pero hay una manera alrededor de esto usando el New York Times API.

Recientemente comencé a construir un sitio de la comunidad encima de la plataforma de Yii, que escribí en programación con Yii2: Construyendo la comunidad con los comentarios, la distribución y la votación (Envato Tuts +). Quería facilitar la adición de enlaces relacionados con el contenido del sitio. Si bien es fácil para las personas pegar direcciones URL en formularios, toma mucho tiempo proporcionar también título e información de origen.

Así que en el tutorial de hoy, voy a expandir el código de recopilar metadatos que escribí recientemente para aprovechar la API de New York Times para cuando titulares se agregan.

Recuerde, yo participo en los hilos de comentarios a continuación, así que dime lo que piensas! También puedes contactarme en Twitter @lookahead_io.

Para empezar

Inscríbase para una clave API

New York Times API - API Gallery Home PageNew York Times API - API Gallery Home PageNew York Times API - API Gallery Home Page

En primer lugar, vamos a inscribirnos y solicitar una clave API:

New York Times API - API Sign Up PageNew York Times API - API Sign Up PageNew York Times API - API Sign Up Page

Después de enviar el formulario, recibirá su clave en un correo electrónico:

New York Times API - Email with API Key New York Times API - Email with API Key New York Times API - Email with API Key

Explorando la API de New York Times

New York Times API - CategoriesNew York Times API - CategoriesNew York Times API - Categories

El Times ofrece APIs en las siguientes categorías:

  • Archivo
  • Búsqueda de artículo
  • Libros
  • Comunidad
  • Geográfica
  • Más populares
  • Comentarios de la película
  • Semántica
  • Times Newswire
  • TimesTags
  • Historias principales

Es mucho. Y, desde la página de la galería, puedes hacer clic en cualquier tema para ver la documentación individual de categoría API:

New York Times API - Documentation of articlesearch jsonNew York Times API - Documentation of articlesearch jsonNew York Times API - Documentation of articlesearch json

El Times usa LucyBot para su documentacion de la API, y hay un FAQ de ayuda:

New York Times API - FAQNew York Times API - FAQNew York Times API - FAQ

Incluso te muestran cómo obtener rápidamente los usos de la API (usted necesitará su clave):

Inicialmente tuve problemas para dar sentido a la documentación: es una especificación basada en parámetros, no una guía de programación. Sin embargo, publiqué algunas preguntas y problemas a la página GitHub de la API de New York Times, y fueron respondidas rápida y útilmente.

Trabajando con búsqueda

Para el episodio de hoy, voy a centrar en la búsqueda de artículo de NY Times. Básicamente, a ampliar la forma de crear el enlace del tutorial pasado:

New York Times API - Create Link Form with NYT Story URL about Polar BearsNew York Times API - Create Link Form with NYT Story URL about Polar BearsNew York Times API - Create Link Form with NYT Story URL about Polar Bears

Cuando el usuario hace clic en búsqueda, vamos a hacer una petición ajax a través de Link::grab($url). Aquí es el jQuery:

Este es el método de controlador y modelo:

A continuación, vamos a usar nuestra clave API para realizar una solicitud de búsqueda de artículo:

Y trabaja bastante fácilmente, aquí está el título resultante (por cierto, el cambio climático está matando a los osos polares y deberíamos preocuparnos):

New York Times API - Create Link Form with NYT Story URL and Headline from Article Search APINew York Times API - Create Link Form with NYT Story URL and Headline from Article Search APINew York Times API - Create Link Form with NYT Story URL and Headline from Article Search API

Si usted quiere más detalles de su petición de API, sólo tiene que añadir argumentos adicionales para el ?fl=headline como keywords y lead_paragraph:

Aquí está el resultado:

The response from the API requestThe response from the API requestThe response from the API request

Tal vez voy a escribir una librería PHP para analizar mejor el API de NYT en próximos episodios, pero este código quiebra las palabras clave y el párrafo guia:

Aquí está lo que muestra para este artículo:

Ojala comience a expandir su imaginación de cómo utilizar estas API. Es muy emocionante lo que puede lograr.

En conclusion:

La API del New York Times es muy útil, y me alegra verlos ofreciendo a la comunidad de desarrolladores. También fue refrescante para obtener ese apoyo rápido de API a través de GitHub, simplemente no esperaba esto. Tenga en cuenta que está pensado para proyectos no comerciales. Si tienes alguna idea de hacer dinero, envie una nota a ver si trabajaran con usted. Los editores son deseosos de nuevas fuentes de ingresos.

Espero que encuentre estos episodios de extraccion de metadatos útiles y los utilice en sus proyectos. Si desea ver el episodio de hoy en acción, puede probar algunos de la web extraccion en mi sitio, Active Together.

Por favor comparta sus pensamientos y comentarios en los comentarios. También puede contactarme siempre en Twitter @lookahead_io directamente. Y asegúrese de revisar mi página de instructor y otras series, Construyendo su startup con PHP y la programación con Yii2.

Enlaces relacionados

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.