大幅バージョンアップ完了!アフィリサイト作成システムSIRIUS

★SEOに強い戦略的テンプレート「賢威7」

楽天検索API用PHP解説(2)

PHPプログラムで、楽天のWEBサービスAPIで商品検索する関数の解説(2)//--------- APIへのリクエストURL生成// リクエストURL生成$rakuten_url = $API_BASE_URL.'?developerId='.$DEVELOPER_ID.'&affiliateId='.$AFFILIATE_ID.'&operation='.$OPERATION.'&version='.$API_VERSION;ここでは、URLリクエストをAPIサーバーに投げるための基本的なURLを組み立てている。

 

//送料無料の処理if($shipping == 1){$keywords = $keywords.' 送料無料';}送料無料で検索したい場合、「検索キーワード」に「送料無料」を付け加える処理。

 

※これは検索キーワードに「送料無料」を入れるだけで、ハッキリ言って使えなかった。

 

//検索条件作成$key = urlencode(mb_convert_encoding($keywords,"UTF-8","auto"));検索キーワードをUTF-8に変換し、さらにURLエンコードしている部分。

 

$rakuten_c = '&keyword='.$key.'&genreId='.$genreId.'&hits='.$max_num.'&sort='.$sort.'&minPrice='.$minP.'&maxPrice='.$maxP;検索条件部分を組み立てている部分。

 

絞り込みが色々あると面倒だが、ソート順を価格昇順に設定する時、最低価格を指定しておかないと、レスポンスが関連商品ばかりになることがよくある。

 

$api_url = $rakuten_url.$rakuten_c;APIサーバーに投げるURLがここで完成。

 

//echo $api_url;//API情報の取得リクエストURLがちゃんとできているか、確かめるときに使う記述。

 

「//」のコメントアウト記号を消してプログラムを動かすと、URLが表示される。

 

$contents = @file_get_contents($api_url);リクエストを投げて返ってきたレスポンスを変数$contents に入れる。

 

file_get_contents関数の頭につけている@マークは、失敗したときのエラーコードを表示させないための指定だ。

 

$Sta = $xml->Header->Status;if($Sta = "Success"){//echo "G";}else{echo "失敗1";sleep(3);$contents = file_get_contents($api_url);}レスポンスのステイタス情報を読み込んで、失敗していたら3秒後にもう一度挑戦する。

 

$data_size = strlen($contents);//echo $data_size;たまに情報数が少なすぎるレスポンスが返ってきたりするので、ここでデータの文字列を数えてみて、少なかったら間隔をあけて再トライする503エラーが頻発しているときに役に立つ

if($data_size < 2000){sleep(3);$contents = file_get_contents($api_url);$data_size = strlen($contents);if($data_size < 2000){sleep(3);$contents = file_get_contents($api_url);$data_size = strlen($contents);if($data_size < 2000){sleep(3);$contents = file_get_contents($api_url);}}}else{}
$xml = simplexml_load_string($contents);コンテンツを配列(変数$xml)に格納する。

 

//print_r($item);

// ★ここからデータを配列$list_riに格納$i = 0;foreach($item as &$item){$list_ri[$i]['title'] = mb_strimwidth ($item->itemName, 0, 85, "", "UTF-8");$list_ri[$i]['price'] = $item->itemPrice;if($item->taxFlag == 0){$list_ri[$i]['tax'] = "税込み";}else{$list_ri[$i]['tax'] = "税別";}if($item->postageFlag == 0){$list_ri[$i]['post'] = "送料込み";}else{$list_ri[$i]['post'] = "送料別";}if($item->imageFlag == 0){$list_ri[$i]['img'] = "./img/noimage.gif";}elseif($item->mediumImageUrl){$list_ri[$i]['img'] = $item->mediumImageUrl;}else{$list_ri[$i]['img'] = "./img/noimage.gif";}if($item->affiliateUrl){$list_ri[$i]['url'] = $item->affiliateUrl;}else{$list_ri[$i]['url'] = $item->itemUrl;}$list_ri[$i]['caption'] = mb_strimwidth ($item->itemCaption, 0, 200, "", "UTF-8");$list_ri[$i]['reviewCount'] = $item->reviewCount;$list_ri[$i]['reviewAverage'] = $item->reviewAverage;$list_ri[$i]['catchcopy'] = mb_strimwidth ($item->catchcopy, 0, 85, "", "UTF-8");$list_ri[$i]['img_m'] = $item->smallImageUrl;$i++;}
この辺りの解説は、解説(5)商品情報をXMLから取り出すのところと同様です。

 

return $list_ri;商品情報を配列化した変数$list_riを、返値としてもどす。

 

}ユーザー関数ここまで。

 

NEXT:グーグルニュース取得PHPの例


アフィリエイトで稼ぐ 教材人気ランキング

★第1位★儲かるキーワードはコレ!キーワードツールの決定版!Pandora2

★第2位★今話題のキーワード、トレンドアフィリで稼げ!【下克上∞(MUGEN)】

★第3位★ツイッターで集客!ツイッターでアクセス増!フォローマティックXY

★第4位★狙い目キーワードを探せ!キーワードスカウターS

★第5位★サイトアフィリマニュアルGladius

★第6位★1日1記事、1ブログ運営で、趣味や好きな事が月収20万円ホビリエイト・マスターズカリキュラム

★第7位★アフィリエイター専用!SEO分析ツール「COMPASS」

ネットで稼ぐ 教材人気ランキング

★第1位★儲かるセールスレター、チラシの書き方はこれ!キャッチ・ザ・ライティング

★第2位★集客できるホームページはこれ!SEOに強い戦略的テンプレート「賢威7」

★第3位★ツイッターで稼ぐ方法 集客&自動化ツールフォローマティックXY

★第4位★月収1,000万円以上!ネットで大金を稼ぐ小玉歩のノウハウザ・メールマガジン

★★ネットでお金を稼ぐマーケティングを基礎から指南Catch the Marketing

★このサイトもこれで作ってます次世代サイト作成システムSIRIUS

このエントリーをはてなブックマークに追加