人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPについて質問です。

先日に引き続きWEBマーケティングをしているのですが、

ヤフオクの検索入力のところにPHPで文字を入力してPHPで検索ボタンを押したいと考えています。
その後引き続きデータを取得したいのですが

PHPで検索欄に指定した文字をおいて、検索ボタンを押すことは可能でしょうか?

具体的には

http://auctions.yahoo.co.jp/jp/

の検索に

イチロー シャツ

と全角スペースをひとつ空けて 検索をしURLに移動したいです。

URLへ飛ぶと以下のようなURLになるので

http://search.auctions.yahoo.co.jp/jp/search/auc?p=%A5%A4%A5%C1%A5%ED%A1%BC%A1%A1%A5%B7%A5%E3%A5%C4&auccat=0&alocale=0jp&acc=jp

このURLのHTMLを取得したいと考えております。

お手数をおかけしますがわかるかたおりましたらご回答をお待ちしております。

●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:HTML PHP URL Web ひとつ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● chrono1742
●100ポイント ベストアンサー

> PHPで検索欄に指定した文字をおいて、検索ボタンを押すことは可能でしょうか?


これはできません。

PHPはサーバ側で動く仕組みなので、クライアント側にあるブラウザを操作することはできません。


> このURLのHTMLを取得したいと考えております。


これはできます。

下記の$queryに検索文字列を入れれば、$urlに目的のURLが代入されます。

$query = 'イチロー シャツ';
$str = mb_convert_encoding($query, 'EUC-JP', 'auto');
$str = urlencode($str);
$url = 'http://search.auctions.yahoo.co.jp/jp/search/auc?p=' . $str . '&auccat=0&alocale=0jp&acc=jp';
◎質問者からの返答

ご回答ありがとうございます。


2 ● koujirou
●27ポイント

ヤフオクの検索入力のところにPHPで文字を入力してPHPで検索ボタンを押したいと考えています。

その後引き続きデータを取得したいのですが

PHPで検索欄に指定した文字をおいて、検索ボタンを押すことは可能でしょうか?

可能です。

FORMタグを利用しておりますので、「http://search.auctions.yahoo.co.jp/jp/search/auc」に対して適切なパラメータを渡してあげれば検索結果を取得できます。

URLのHTMLを取得したいと考えております

HTMLの取得はPHPでクエリを投げれば取得可能です。

検索結果で表示される個々の商品であればAPIを利用すれば簡単にできます。

Yahoo API ヤフーオークションの検索結果を取得する

API一覧

◎質問者からの返答

ご回答ありがとうございます。


3 ● ワテ
●26ポイント

php.iniの設定でallow_url_fopenが有効であれば、

HTMLの取得に関しては以下のような感じで取得できます。

file_get_contents("http://search.auctions.yahoo.co.jp/jp/search/auc?p=%A5%A4%A5%C1%...");

また、検索キーワードをURLエンコードし、

「%A5%A4%A5%C1%A5%ED%A1%BC%A1%A1%A5%B7%A5%E3%A5%C4」の部分と入れ替えれば、

別のキーワードの検索結果も取得可能です。

HTMLの取得というよりも検索結果の内容が重要な場合は、

別の人が答えられたようにAPIを利用したほうがいいと思います。

◎質問者からの返答

ご回答ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ