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

http://mobile.yahoo.co.jp/
このページで携帯サイトを検索したとき、検索結果として表示されるサイトの正規のURLをプログラムで自動取得したいです。同じ結果が得られるならば別のサイトを通して検索しても構いません。PHP または Perl で取得する方法はありませんか?

●質問者: snaa1d_1
●カテゴリ:コンピュータ インターネット
✍キーワード:Perl PHP サイト プログラム 携帯サイト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●50ポイント ベストアンサー

コメント欄に書き込めないので、回答欄にて失礼します。


「サイトの正規のURL」の意味を教えてください。

たとえば、「はてな」の検索結果について、どれを取り出したいのか教えてください。


  1. 各キャリアの検索結果の最上位に表示されているURLのことですか?
  2. PCサイトの最上位に表示されているURLのことですか?
◎質問者からの返答

◇正規のURLについて

1位の「ポケットはてな」に関しては、

できれば「http://mobile.hatena.ne.jp/」を取得したいです。

1位はワンクリック多くクリックしないと「ポケットはてな」に

行けないのですね。。これは想定していませんでした。。

2位は、http://d.hatena.ne.jp/mobile?guid=on

3位は、http://i21.4cast.co.jp/AccessDeny.html

を、それぞれ正規のURLという呼び方をしています。

◇検索方式に関して

各キャリアの検索結果の最上位に表示されているURLのことです。

最も楽なのは User-Agent を書き換えて Ajax 不使用の検索結果ページを

取得できればよいのですが、IP で制限しているらしく(?)やはり

Ajax 版の検索結果が出てきてしまいます。

因みに、「これを取得するのは無理」ですとか、「無理だけど代替として

こういうロジックを PHP で組めばある程度の精度で取得可能」と

言ったことを回答としていただいても結構です。


2 ● pahoo
●35ポイント

期待させておいて申し訳ないのですが、Give Up です。


User-Agent の書き換えで対応できないということなので、PCでの検索結果から mobile simulator のウィンドウを開いている JavaScript か、noscript の URL を取り出そうと考えました。しかし、アクセスする度にキーが変わるようになっています。何らかの条件でセッション管理を行っているとは思うのですが‥‥。

Yahoo! mobile search の API は無いですよね‥‥。


申し訳ありませんが、他の方のヘルプを期待します。


URLはダミーです http://q.hatena.ne.jp/

◎質問者からの返答

ご丁寧にありがとうございます。pahoo さんに答えて頂けるとは光栄です。

やはり少し難しそうですね。敢えて、プログラムで取得する事をブロック

しているようにも思えますから、もしそういう思想でyahoo mobile が

できているならばどうしても無理かもしれませんね。

関連質問


●質問をもっと探す●



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