LoginSignup
7
4

More than 3 years have passed since last update.

News API, New York Times API, Wikipediaのgem等を使用して記事を取得する方法

Last updated at Posted at 2020-06-15

現在、英語のニュース及びWikipediaの英語のページを、ユーザーが検索するキーワードに応じて収集して保存するアプリを製作しています。日本語での記事が少なかったので、この記事で説明してみようと思います。現在プログラミングを勉強中で、Qiitaに記事を投稿するのも初めてなので、間違いがありましたら、ご指摘いただければと思います。

使用したAPI

こちらの記事を参考に、各ページを訪問して使いやすそうなAPIを選定しました。日系の新聞のAPIも探しましたが、見つかりませんでした。ただし最後に紹介するNews APIでは国を指定することができ、日本語の記事を取得可能です。
https://en.wikipedia.org/wiki/List_of_news_media_APIs

・The New York Times
https://developer.nytimes.com/

・Financial Times
https://developer.ft.com/portal

・The Guardian
https://open-platform.theguardian.com/

・News API
https://newsapi.org/

また、ニュースとは別にWikipediaの情報も取得したいと考えました。私はRubyを使用しているため、こちらのgemを使用しました。このgemは英語での記事タイトルを正確に入力しないとWikipediaのページを取得できない難点があるので注意が必要です。

The New York Times APIの使用方法

最初に共有したWikipediaのリンクからわかる通り、世界のニュースサイトの中でもAPIの機能が非常に充実したものの一つです。

以下のGet startedの手順を追って行けば、すぐにAPIキーが手に入ります。

APIの機能は多くありますが、参考までに記事の検索について説明します。Example callに
https://api.nytimes.com/svc/search/v2/articlesearch.json?q=election&api-key=yourkey
とある通り、非常にオーソドックスなAPIの使い方です。q={query}なので、ここをユーザーに入力するようにすれば、お気に入りの記事情報が取得できます。jsonファイルが返ってくるので、例えば["lead_paragraph"]をeachで繰り返し処理すれば、各記事の第一段落を得ることができます。

Financial Times APIの使用方法

経済情報に強いイギリスの新聞です。2015年に日経新聞が買収したことでも有名ですね。

こちらは、デベロッパー用のアカウントを作成した後、同社にメールしてAPIキーを取得するというややトリッキーな方法ですが、私がキーを取得した際は、同社からすぐにメールが返ってきて何も問題なく手続きが終わりました。

こちらで面白いのはnotificationsの機能で、ユーザーが指定した日時から最新の記事までの情報を得ることができます。

The Guardian APIの使用方法

こちらもイギリスの有名な新聞です。Guardianはネットワークが広い印象なので、海外の政治動向等をチェックするときにたまに読んでいます。以下のフォームを入力すれば、簡単にAPIキーが手に入ります。

同社のAPIドキュメンテーションは読みやすくしっかりしているのですが、例えばNew York Timesのように段落を取得するなど、記事の内容を取得することができないので、あまり使い勝手がよくない印象です。
https://open-platform.theguardian.com/documentation/

News APIの使用方法

News APIは、3万を超える世界中のニュースサイトから情報を集めており、言語やキーワードなど多数のオプションで記事情報の検索が可能です。こちらに関しては日本語での紹介記事も多くあり、ニュースの情報収集機能をアプリに加えたことのある方なら、すでにご存じかと思います。

ニュースのAPIの中では、非常に有名で評判も高いようです。使い勝手も非常に良さそうなので、欠点を上げるとすれば、例えばNew York Timesが対象に含まれていないことでしょうか・・・

この記事も同様に二つのAPIを比較しています。

まとめ

海外のニュースサイトのAPI使用について簡単にまとめました。現在は文字の情報を取得するのに精いっぱいなのですが、今後はBloombergなどより経済に強いニュースサイトのAPIを利用して、リアルタイムでの株価情報等をグラフで表示させるような機能をいつか実装したいと考えています。ご質問やご指摘等ございましたら、コメントいただけると幸いです。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4