先日に引き続き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を取得したいと考えております。
お手数をおかけしますがわかるかたおりましたらご回答をお待ちしております。
> 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';
> 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';
ご回答ありがとうございます。
ヤフオクの検索入力のところにPHPで文字を入力してPHPで検索ボタンを押したいと考えています。
その後引き続きデータを取得したいのですが
PHPで検索欄に指定した文字をおいて、検索ボタンを押すことは可能でしょうか?
可能です。
FORMタグを利用しておりますので、「http://search.auctions.yahoo.co.jp/jp/search/auc」に対して適切なパラメータを渡してあげれば検索結果を取得できます。
URLのHTMLを取得したいと考えております
HTMLの取得はPHPでクエリを投げれば取得可能です。
検索結果で表示される個々の商品であればAPIを利用すれば簡単にできます。
ご回答ありがとうございます。
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を利用したほうがいいと思います。
ご回答ありがとうございます。
ご回答ありがとうございます。