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/V2/topics";
$appid = "?appid="."";
$topicname = "&topicname="."";
$category = "&category="."";
$pickupcategory = "&pickupcategory="."";
$query = "&query=".$Get_Keyword_enc_utf;
$relatedinformation = "&relatedinformation="."";
$sort = "&sort="."datetime";
$results = "&results="."10";
$start = "&start="."1";

// XML
$url = $Yahoo.$appid.$topicname.$category.$pickupcategory.$query.$relatedinformation.$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){
$DateTime = $value->DateTime;
$CreateTime = $value->CreateTime;
$NewsUpdateTime = $value->NewsUpdateTime;
$RelatedInfoUpdateTime = $value->RelatedInfoUpdateTime;
$HeadlineUpdateTime = $value->HeadlineUpdateTime;
$Title = mb_convert_encoding($value->Title, "EUC-JP", "UTF-8");
$Keyword = mb_convert_encoding($value->Keyword, "EUC-JP", "UTF-8");
$Word = mb_convert_encoding($value->Word, "EUC-JP", "UTF-8");
$TopicName = mb_convert_encoding($value->TopicName, "EUC-JP", "UTF-8");
$English = $value->English;
$Overview = mb_convert_encoding($value->Overview, "EUC-JP", "UTF-8");
$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");
}
$Url = $value->Url;
$PickupCategory = mb_convert_encoding($value->PickupCategory, "EUC-JP", "UTF-8");
$PickupOrder = $value->PickupOrder;
$PvIndex = $value->PvIndex;
$EditNum = $value->EditNum;
$NewsNum = $value->NewsNum;
$NewsUrl = $value->NewsUrl;
//関連情報
$RelatedInformation_TotalNum = $value->RelatedInformation->TotalNum;
for($i = 0; $i < $RelatedInformation_TotalNum; $i++){
$RelatedInformation_RelatedInfoTitle[$i] = mb_convert_encoding($value->RelatedInformation->RelatedInfoTitle[$i], "EUC-JP", "UTF-8");
$RelatedInformation_RelatedInfoUrl[$i] = $value->RelatedInformation->RelatedInfoUrl[$i];
$RelatedInformation_RelatedInfoText[$i] = mb_convert_encoding($value->RelatedInformation->RelatedInfoText[$i], "EUC-JP", "UTF-8");
}

print $DateTime."<br />";
print $CreateTime."<br />";
print $NewsUpdateTime."<br />";
print $RelatedInfoUpdateTime."<br />";
print $HeadlineUpdateTime."<br />";
print $Title."<br />";
print $Keyword."<br />";
print $Word."<br />";
print $TopicName."<br />";
print $English."<br />";
print $Overview."<br />";
print $Category."<br />";
//サブカテゴリ
for($i = 0; $i < count($SubCategory_Sub); $i++){
print $SubCategory_Sub[$i]."<br />";
}
print $Url."<br />";
print $PickupCategory."<br />";
print $PickupOrder."<br />";
print $PvIndex."<br />";
print $EditNum."<br />";
print $NewsNum."<br />";
print $NewsUrl."<br />";
print $RelatedInformation_TotalNum."<br />";
//関連情報
for($i = 0; $i < $RelatedInformation_TotalNum; $i++){
print $RelatedInformation_RelatedInfoTitle[$i]."<br />";
print $RelatedInformation_RelatedInfoUrl[$i]."<br />";
print $RelatedInformation_RelatedInfoText[$i]."<br />";
}
// 配列の削除
while(count($SubCategory_Sub)){
array_pop($SubCategory_Sub);
}
while(count($RelatedInformation_RelatedInfoTitle)){
array_pop($RelatedInformation_RelatedInfoTitle);
array_pop($RelatedInformation_RelatedInfoUrl);
array_pop($RelatedInformation_RelatedInfoText);
}
}
?>


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

appid アプリケーションID(必須)
topicname トピック(国内や経済などのカテゴリよりも細かい分類基準)名の英字表記で絞り込み指定
category カテゴリ domestic 国内 world 海外 economy 経済 entertainment エンターテインメント sports スポーツ computer コンピュータ science サイエンス local 地域
pickupcategory 掲載されたカテゴリ top Yahoo! JAPANトップページ domestic 国内 world 海外 economy 経済 entertainment エンターテインメント sports スポーツ computer コンピュータ science サイエンス local 地域 all すべて
query UTF-8でURLエンコードされたワードで該当するトピックを検索します。
relatedinformation 各トピックの関連情報を取得するかどうかを指定します。 0 取得しない 1 目次情報取得 2 全文取得 全文取得を選んだ場合は、topicnameの指定が必要
sort レスポンスの表示順を指定 pvindex PV指標順 pickup 掲載時の表示位置順datetime 最終更新時間順relatedinfotime 関連情報更新順 headlinestime ヘッドライン更新順 newsnum 関連ニュース件数順 ※=の直後に-/+で降順/昇順
results 表示件数の指定 最大値は10件
start 結果の先頭位置を指定

DateTime 最終更新日時(ニュース、ヘッドライン、関連情報のいずれかで一番最新の更新があった日時)です。
CreateTime トピック(国内や経済などのカテゴリよりも細かい分類基準)が作成された日時です。
NewsUpdateTime トピックのニュースの最終更新日時です。
RelatedInfoUpdateTime トピックの関連情報の最終更新日時です。
HeadlineUpdateTime トピックの見出し(Yahoo! JAPANトップページに表示されているような15文字程度のテキスト)に対応して更新されるヘッドラインの最終更新日時です。
Title トピックの見出しです。ない場合は表示されません。
Keyword トピックに関連するキーワードを含みます。最大5件まで表示します。
Word 具体的なキーワードです。
TopicName トピックの日本語表記です。随時更新される見出しとは異なり、基本的に固定の名称です。
English トピックの英語表記です。これは固定の名称です。
Overview 話題の単位であるトピックについての数十文字の簡単な説明です。
Category トピックが所属するカテゴリ(国内、海外、経済、エンターテインメント、スポーツ、コンピュータ、サイエンス、地域のいずれか)です。
SubCategory_Sub 具体的なサブカテゴリ名です
Url トピックのURLです。
PickupCategory 掲載されたカテゴリです(上のCategoryにおけるカテゴリと一致しない場合があります)。
PickupOrder 掲載されたときの表示順位(「主なトピックス」掲載時の順位のみ)です。
PvIndex PV指標は現在のアクセス数から割り出した指標的な数値です。
EditNum 関連情報がエディターによって更新された回数です。
NewsNum 掲載されているニュースの件数です。
NewsUrl ニュース一覧ページのURLです。
RelatedInformation_TotalNum 関連情報の帯(関連情報エリア内の大見出し)の数です。
RelatedInformation_RelatedInfoTitle 関連情報の帯名です。
RelatedInformation_RelatedInfoUrl 関連情報の帯別のURLです。
RelatedInformation_RelatedInfoText 関連情報の帯ごとの内容(本文)です。 Wiki文法(関連情報独自の簡易な記述言語)が用いられています。

一言
商品関連付け 商品情報登録・削除は、上手く動作してくれないのでサンプルコードが掲載された後に書く
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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