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

Utilisation de l'API du New York Times pour gratter les métadonnées

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called How to Scrape Web Pages for Metadata.
How to Scrape Web Pages for Metadata

French (Français) translation by New Lune (you can also view the original English article)

Final product image
What You'll Be Creating

Introduction

La semaine dernière, j'ai écrit une introduction aux pages web de grattage pour recueillir des métadonnées, mentionnant qu'il n'est pas possible de rayer le site de New York Times. The Times paywall bloque vos tentatives de collecte des métadonnées de base. Mais il y a un moyen de le faire en utilisant l'API du New York Times.

Récemment, j'ai commencé à construire un site communautaire sur la plate-forme Yii, dont j'ai écrit sur la Programmation avec Yii2: Construire une communauté avec commentaires, partage et vote (Envato Tuts+). Je voulais faciliter l'ajout de liens liés au contenu sur le site. Bien qu'il soit facile pour les personnes de coller des URL dans des formulaires, il devient beaucoup plus important de fournir des informations sur les titres et les sources.

Donc, dans le tutoriel d'aujourd'hui, je vais étendre le code de raclage que j'ai écrit récemment pour tirer parti de l'API du New York Times pour recueillir les manchettes lorsque les liens Times sont ajoutés.

Rappelez-vous, je participe aux fils de commentaires ci-dessous, alors dites-moi ce que vous en pensez! Vous pouvez également me rejoindre sur Twitter @lookahead_io.

Commençons

Inscrivez-vous pour une clé d'API

New York Times API - API Gallery Home Page

D'abord, inscrivez-vous pour demander une clé API:

New York Times API - API Sign Up Page

Après avoir soumis le formulaire, vous recevrez votre clé dans un courriel:

New York Times API - Email with API Key

Exploration de l'API de New York Times

New York Times API - Categories

The Times propose des API dans les catégories suivantes:

  • Archive
  • Recherche d'article
  • Livres
  • Communauté
  • Géographique
  • Le plus populaire
  • Critiques de films
  • Sémantique
  • Times Newswire
  • TimesTags
  • Meilleurs histoires

C'est beaucoup. Et, à partir de la page Galerie, vous pouvez cliquer sur n'importe quel sujet pour voir la documentation de la catégorie API individuelle:

New York Times API - Documentation of articlesearch json

The Times utilise LucyBot pour alimenter ses documents API, et il existe une FAQ utile:

New York Times API - FAQ

Ils vous montrent même comment obtenir rapidement vos limites d'utilisation de l'API (vous devrez brancher votre clé):

J'ai initialement eu du mal à comprendre la documentation: c'est une spécification paramétrique, pas un guide de programmation. Cependant, j'ai posté quelques questions en tant que problèmes à la page GitHub de l'API New York Times, et ils ont répondu rapidement et efficacement.

Travailler avec la recherche d'article

Pour l'épisode d'aujourd'hui, je me concentrerai sur l'utilisation de la New York Times Search. Fondamentalement, nous allons étendre le formulaire Create Link à partir du dernier tutoriel:

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

Lorsque l'utilisateur clique sur Lookup, nous ferons une requête ajax via Link::grab($url). Voici le jQuery:

Voici la méthode du contrôleur et du modèle:

Ensuite, utilisons notre clé API pour faire une demande de recherche d'article:

Et cela fonctionne assez facilement—voici le titre qui en résulte (en passant, le changement climatique tue les ours polaires et nous devrions nous occuper):

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

Si vous souhaitez plus de détails à partir de votre demande d'API, ajoutez simplement des arguments supplémentaires à la requête ?fl=headline, comme les keywords et le paragraphe lead_paragraph:

Voici le résultat:

The response from the API request

Peut-être que je vais écrire une bibliothèque PHP pour mieux analyser l'API NYT dans les épisodes à venir, mais ce code éclate les mots-clés et le paragraphe principal:

Voici ce qu'il montre pour cet article:

Espérons que cela commence à élargir votre imagination sur la façon d'utiliser ces API. C'est plutôt excitant ce qui peut être possible.

En clôture

L'API du New York Times est très utile et je suis heureux de les voir en offrant à la communauté des développeurs. Il était également rafraîchissant d'obtenir un tel support API rapide via GitHub—je ne m'attendais pas à cela. Gardez à l'esprit qu'il est destiné à des projets non commerciaux. Si vous avez une idée d'argent, envoyez-leur une note pour voir s'ils vont travailler avec vous. Les éditeurs souhaitent de nouvelles sources de revenus.

J'espère que vous avez trouvé ces épisodes de raclage Web utiles et que vous les utiliserez dans vos projets. Si vous souhaitez voir l'épisode actuel en action, vous pouvez essayer une partie du grattage web sur mon site, Active Together.

Veuillez faire part de vos réflexions et commentaires dans les commentaires. Vous pouvez également me contacter directement sur Twitter @lookahead_io directement. Et assurez-vous de vérifier ma page d'instructeur et d'autres séries, Créer votre démarrage avec PHP et Programmer avec Yii2.

Liens connexes

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.