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

Usando a API do New York Times para Extrair Metadados

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

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Final product image
What You'll Be Creating

Introdução

Semana passada, escrevemos sobre extrair páginas para coletar metadados, e mencionamos que não é possível extrair o site do New Your Times. O Times possui um bloqueio (pago) que impede a obtenção de metadados básicos. Mas é possível sobrepujar isso, usando a API do New York Times.

Recentemente, começamos a construir uma comunidade com Yii, e escrevemos sobre em Programando Com Yii2: Construindo Comunidade com Comentários, Comartilhamento e Votação (Envato Tuts+). Queríamos facilitar a adição de links relacionados no site. Embora seja fácil colar URLs em formulários, leva bastante tempo provê o título e a fonte da informação.

Então, hoje, continuaremos o código de extração que escrevemos recentemente para lidar com a API do New York Times, para pegar títulos quando forem links do Times.

Lembremo-nos, sempre participaremos nos comentários abaixo, então comente! Também estamos no Twitter, @lookahead_io.

Começando

Obtendo Chave de API

New York Times API - API Gallery Home Page

Primeiro, registremo-nos para requisitar uma Chave de API:

New York Times API - API Sign Up Page

Depois de enviar o formulário, receberemos a chave no e-mail:

New York Times API - Email with API Key

Explorando a API do New York Times

New York Times API - Categories

O Times oferece APIs para as seguintes categorias:

  • Arquivos
  • Busca de Artigo
  • Livros
  • Comunidade
  • Geográfica
  • Mais Popular
  • Resenha de Filmes
  • Semântica
  • Agência de Notícas da Times
  • Tags Temporais
  • Histórias Top

São muitas. E, da Galeria, podemos clicar em qualquer tópico para ver a documentação própria da categoria da API:

New York Times API - Documentation of articlesearch json

O Times usa o LucyBot para empoderar a documentação da API, e há um FAQ bem útil:

New York Times API - FAQ

Eles até mostram como obter nosso limite de uso da API (temos de colocar nossa chave):

Inicialmente, foi estranho entender a documentação—é uma especificação baseada em parâmetros, não um guia de programação. Contudo, postamos algumas perguntas como problemas na página do GitHub da API do New York Times e foram respondidas rapidamente.

Trabalhando Com a Busca de Artigo

Para o episódio de hoje, focaremos no uso da Busca de Artigo no NY Times. Basicamente, estenderemos o formulário de Adicionar Link do tutorial passado:

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

Quando o usuário clicar em Lookup, será feira uma requisição Ajax pelo Link::grab($url). Eis o jQuery:

Eis o método do controlador e modelo:

Depois, usaremos a API para uma requisição de busca de artigo:

E funciona bem fácil—eis o título resultante (por falar nisso, mudanças climáticas estão matando Ursos Polares):

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

Se quisermos mais detalhes da requisição da API, adicionemos mais argumentos ao ?fl=headline, como keywords e lead_paragraph:

Eis o resultado:

The response from the API request

Talvez criaremos uma biblioteca em PHP para analisar melhor a API do NYT nos próximos episódios, mas esse código destrincha as palavras-chave o parágrafo lead:

Eis o que ele mostra para esse artigo:

Com sorte, isso expandirá nossa imaginação sobre como usar essas APIs. É bem excitante o que é possível agora.

Finalizando

A API do New York Times é muito útil e ficamos felizes em vê-los na comunidade. Também foi reanimador ver um suporte de API tão rápido do GitHub—não esperávamos. Lembremos que é projetada para projetos não comerciais. Se tivermos alguma ideia que dê dinheiro, avise-os para saber se eles trabalharão em conjunto. Editores são loucos por novas fontes de receita.

Esperamos que tenham achado esses episódios de extração da web úteis e os usem em seus projetos. Se curtiram o episódio de hoje, tentem mais algumas extrações no site Active Together.

Compartilhe suas ideias e feedback nos comentários. Estamos disponíveis também no Twitter, @lookahead_io. E dê uma olhada na página de instrutor e nas outras séries, Criando Sua Startup Com PHP e Programando Com Yii2.

Links Relacionados

Advertisement
Advertisement
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.