FC2ブログ

<?php
// 検索ワード
$Get_Keyword = ereg_replace("[  ]+", " ", trim($_GET['query']));
$Get_Keyword_enc = urlencode($Get_Keyword);
$Get_Keyword_enc_utf = urlencode(mb_convert_encoding($Get_Keyword, "UTF-8", "EUC-JP"));

// リクエストパラメータ
$Yahoo = "http://news.yahooapis.jp/NewsWebService/V1/topicsLog";
$appid = "?appid="."";
$startdate = "&startdate="."";
$enddate = "&enddate="."";
$unit = "&unit="."";
$topicname = "&topicname="."";
$category = "&category="."";
$query = "&query=".$Get_Keyword_enc_utf;
$minpickupnum = "&minpickupnum="."";
$sort = "&sort="."";
$results = "&results="."10";
$start = "&start="."1";

// XML
$url = $Yahoo.$appid.$startdate.$enddate.$unit.$topicname.$category.$query.$minpickupnum.$sort.$results.$start;
$xmldata = simplexml_load_file($url) or die("XMLパースエラー");

$totalResultsAvailable = $xmldata['totalResultsAvailable'];
$totalResultsReturned = $xmldata['totalResultsReturned'];
$firstResultPosition = $xmldata['firstResultPosition'];

print $totalResultsAvailable."<br />";
print $totalResultsReturned."<br />";
print $firstResultPosition."<br />";

foreach($xmldata->Result as $value){
$TopicName = mb_convert_encoding($value->TopicName, "EUC-JP", "UTF-8");
$English = $value->English;
$CreateDate = $value->CreateDate;
$Url = $value->Url;
$Category = mb_convert_encoding($value->Category, "EUC-JP", "UTF-8");
//サブカテゴリ
foreach($value->SubCategory as $subcategory){
$SubCategory_Sub[] = mb_convert_encoding($subcategory->Sub, "EUC-JP", "UTF-8");
}
//トピックに関連するキーワード
foreach($value->Keyword as $Keyword){
$Keyword_Word[] = mb_convert_encoding($Keyword->Word, "EUC-JP", "UTF-8");
}
$TotalTitleNum = $value->TotalTitleNum;
$TotalTitleTime = $value->TotalTitleTime;
$TotalTitlePvIndex = $value->TotalTitlePvIndex;
// 掲載情報を含みます。
for($i = 0; $i < count($value->PublicationInfo->StartDate); $i++){
$PublicationInfo_StartDate[$i] = $value->PublicationInfo->StartDate[$i];
$PublicationInfo_TitleNum[$i] = $value->PublicationInfo->TitleNum[$i];
$PublicationInfo_TitleTime[$i] = $value->PublicationInfo->TitleTime[$i];
$PublicationInfo_TitlePvIndex[$i] = $value->PublicationInfo->TitlePvIndex[$i];
}

print $TopicName."<br />";
print $English."<br />";
print $CreateDate."<br />";
print $Url."<br />";
print $Category."<br />";
//サブカテゴリ
for($i = 0; $i < count($SubCategory_Sub); $i++){
print $SubCategory_Sub[$i]."<br />";
}
//サブカテゴリ
for($i = 0; $i < count($Keyword_Word); $i++){
print $Keyword_Word[$i]."<br />";
}
print $TotalTitleNum."<br />";
print $TotalTitleTime."<br />";
print $TotalTitlePvIndex."<br />";
for($i = 0; $i < count($PublicationInfo_StartDate); $i++){
print $PublicationInfo_StartDate[$i]."<br />";
print $PublicationInfo_TitleNum[$i]."<br />";
print $PublicationInfo_TitleTime[$i]."<br />";
print $PublicationInfo_TitlePvIndex[$i]."<br />";
}
// 配列の削除
while(count($SubCategory_Sub)){
array_pop($SubCategory_Sub);
}
while(count($Keyword_Word)){
array_pop($Keyword_Word);
}
while(count($$PublicationInfo_StartDate)){
array_pop($$PublicationInfo_StartDate);
array_pop($$PublicationInfo_TitleNum);
array_pop($$PublicationInfo_TitleTime);
array_pop($$PublicationInfo_TitlePvIndex);
}
}
?>


参考URL
Yahoo!デベロッパーネットワーク - ニュース - トピックスアーカイブ

appid アプリケーションID(必須)
startdate 見出しがYahoo! JAPANトップページに掲載されていた期間の指定です。 yyyymmdd0000
enddate 見出しがYahoo! JAPANトップページに掲載されていた期間の指定です。 yyyymmdd0000
unit 指定した期間内で、見出しのPV指標(アクセス数から割り出した指標的な数値)などの推移を見る場合の時間間隔の指定です。 10min :10分ごと hour 1時間ごと day 1日ごと
topicname トピック(国内や経済などのカテゴリよりも細かい分類基準)名の英字表記で絞り込み指定
category カテゴリ domestic 国内 world 海外 economy 経済 entertainment エンターテインメント sports スポーツ computer コンピュータ science サイエンス local 地域
query UTF-8でURLエンコードされたワードで該当するトピックを検索します。
minpickupnum 最低掲載回数。
sort レスポンスの表示順を指定 pvindex PV指標順 pickuptime 掲載時間 pickupnu 掲載回数 datetime :最終更新時間順 ※=の直後に-/+で降順/昇順
results 表示件数の指定 最大値は10件
start 結果の先頭位置を指定

TopicName トピック(国内や経済などのカテゴリよりも細かい分類基準)の日本語表記です。随時更新される見出し(Yahoo! JAPANトップページに表示されているような15文字程度のテキスト)とは異なり、基本的に固定の名称です。
English トピックの英語表記です。これは固定の名称です。
CreateDate 該当するトピックが作成された日時です。
Url 該当するトピックのURLです。
Category 所属するカテゴリ(国内、海外、経済、エンターテインメント、スポーツ、コンピュータ、サイエンス、地域のいずれか)です。
SubCategory_Sub サブカテゴリ名です。
Keyword_Word ワード(個別)
TotalTitleNum 関連情報の帯(関連情報エリア内の大見出し)の数です。
TotalTitleTime 期間内のトピック掲載時間(分)です。
TotalTitlePvIndex 期間内のトピックPV指標(アクセス数から割り出した指標的な数値)です。
PublicationInfo_StartDate 単位時間ごとの開始日時です。
PublicationInfo_TitleNum 単位時間ごとの掲載回数です。
PublicationInfo_TitleTime 単位時間ごとの掲載時間(分)です。
PublicationInfo_TitlePvIndex 単位時間ごとのPV指標です。

一言
日時を指定しないと取得できない?
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS