パンプキンスパイスラテ

IT系のことが多めの日記帳です

日テレのニュース検索APIがいろいろアレな件

ニュース検索API

日テレ系のニュースをフリーワードで検索する機能を提供します。
最新のニュースと過去のアーカイブを利用して、新たなコンテンツが制作できます。

日テレからニュース検索APIが公開されましたね!
国内の地上波放送局初のWEB APIだそう。
日テレが「ニュース検索API」などを紹介、国内の地上波放送局初
早速ニュース検索のソースが不足していてあまり役立たなかった自前サービス「俯瞰検索」に実装してみたよ!

なんかいろいろダメ!

まずは、ドキュメントを読む。
Web API|日テレ アプリ

リクエストURL

http://appli.ntv.co.jp/ntv_WebAPI/news/

リクエストパラメータ
パラメータ 説明
key(必須) string 発行されたAPIキー
word(必須) string 検索する文字列(URLエンコード)
複数指定の場合は半角スペースで区切って指定
複数指定の場合はAND条件で検索
period_start date 期間を指定する場合の開始日時(YYYYMMDD)
period_end date 期間を指定する場合の終了日時(YYYYMMDD)

ふむふむ、keyにAPIのキーを入れて、wordにURLエンコードした文字列を渡すのか。
まぁだいたいこの手のAPIはどこも同じ仕様だな。
period_start、period_end なんてのもあるんだ。

最新のニュースと過去のアーカイブを利用して

ここらへんか。どこまで過去のものがあるのだろう。未確認。

レスポンス項目
タグ名称 説明
search_word string 検索文字列
search_period_start date 検索指定開始日時(YYYYMDD)
search_period_end date 検索指定終了日時(YYYYMDD)
hit_count int 該当件数
title string ニュースタイトル
url string NNN24ニュース記事URL(リンク切れの可能性あり)
date timestamp 日時(YYYYMMDDHHMMSS)
summary string 記事概要
thumbnail_url string サムネイル画像のURL(リンク切れの可能性あり)

該当件数も表示されるのか・・・。ん?

※最大10件の記事が返されます

こ、これって、該当件数が100件あっても、最初の10件しか表示されないってこと?
意味ないし!
なんでページ指定の要素が無いんだ??リクエスト制限してるから?
何のための「該当件数」だ!
ニュースのジャンルも指定できたら良かったのになぁ。

まずはリクエストのサンプルを試す

・・・レスポンスが返ってこない!!
なんでだーーー。
あ、もしかしてリファラ必須?本番環境で試してみる。
遅い、タイムアウトしてしまう。
タイムアウトの時間をデフォルトの30秒から300秒へ変更。
遅いには遅いがレスポンスは返ってくる。
ただ検索キーワードの日本語が文字化けしているなぁ。
エンコードが違うのか?サイト自体はUTF-8で、帰ってくるXMLUTF-8なんだけどなぁ。
ブクマコメントを見てみる。

id:wozozo リファラー必須、入力sjis、出力utf-8IISさんな萌えAPIです

入力sjis??試してみる。。
通った!
なんだこれー、面倒だなぁ。しかもドキュメントに記載されてないし。

さらにサンプル間違ってる!
&period_start=20080801&period_end=20081001
として日付指定でリクエストしてるのにレスポンスのサンプルが日付指定してないときのレスポンスになってる。
おいおい、適当だなぁ。

結局

実装はしてみたものの日テレのサーバーが負荷に耐えられないのか、レスポンスが異常に遅いので、日テレ側でなんとかしてもらわないと実用には耐えられません。
なーんか、もの凄い軽い気持ちでAPI公開しちゃった気がする。。。