skillup

技術ブログ

PHP

携帯サイト取得手法

投稿日:

PHPでスクレイピングの仕事をよくやるんですが、携帯サイトを取得してほしいという要望があり、少し調査をすることに。

携帯サイトといってもドメイン以下のディレクトリで/で区切ってsample.domain.jp/sp/XXXなどと携帯サイト自体を分離している作りのところもあれば、URL自体完全に一緒のところもあります。

User-Agentの設定

PHP云々の前にWebアプリケーションが携帯サイトか否かを判定する場合どのように判定しているでしょうか。

これはHTTPリクエストを飛ばす際に、User-Agentというパラメータがあり、この中にクライアントの情報が入っています。

Google ChromeやFireFoxのヘッダーのデバッガでみれば下記のような情報が入っています。

User-Agent一覧

http://www.openspc2.org/userAgent/

ようはここでどんな端末からアクセスしているかをみていますので、これを書き換えてあげればOKです。

ini_setでUser-Agentを書き換える

ini_setでUser-Agentを設定します。

ただこれですとファイル中のAgentがすべて携帯サイトになってしまいます。

http://worktoolsmith.com/2012/02/php-http-user-agent/

HTTP_Requestを使う場合

http://blog.livedoor.jp/rout1783/archives/51125738.html

その他cURL関数など

http://xirasaya.com/?m=detail&hid=320

またブラウザで携帯サイトをみる場合はfirefoxのuser agent switcherというプラグインがかなり使えます。

File Mobile Simulatorが有名で以前はこれを使っていたのですが設定が面倒になっており、上記のプラグインのほうが使えましたね・・・。

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

PHPエルビス演算子

PHP エルビス演算子について えープログラムでよくあるnullかどうかをチェックしてnullじゃなければその値を使い、そうじゃなければディフォ値を使うみたいな処理 例えばPOSTを受けてそれを変数で …

no image

phpのライブラリ(mcrypt)インストール

先日、ローカルで開発していたPHPをサーバーにアップして、composerでライブラリをアップデートしようとしたところ、”The mcrypt extension is missing. …

no image

PHPでのコンソール入力に関して

PHPはほとんどの場合、ブラウザでURLをたたいてWEBサーバーから呼び出されるパターンがほとんどです。 ところが、コンソールから使いたい場合などもあるでしょう。 コンソールから入力する場合、なんらか …

no image

Angularでのイベント+改行+echoでのバッファサイズ変更

Contents1 Angularのイベント処理2 Angularでの改行ネタ3 echoでのバッファサイズ変換 Angularのイベント処理 Angularを使っていて楽なのはHTMLタグにインベン …

no image

php5.6のインストール+cake3でのbake

cake3を動かしたい場合、PHP5.4以上でないと動きません。 2016年1月現在、CentOS6でyumでPHPをインストールする場合、php5.3ですので、5.4以上を入れる場合、別のリポジトリ …