匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

PHPでfile_get_contentsを実行する際、ページ遷移をjavascriptで行っている場合の対処方法


現在、以下の方法で、サイトのデータをピックアップしています。
1)PHPのfile_get_contentsを使って、所定のURLからHTMLデータをダウンロードし、
2)所定の解析を行って欲しい情報を抽出

<問題点>
URLにpage=1などの引数がある場合は問題無いのですが、
ページネーションをjavascriptで実行している場合などは、URLが変わらないので、
file_get_contentsに次のページのURLが渡せません。

こうした場合の対処方法をご教授頂ければと思います。

PHPもjavascriptも余り高技術レベルではありませんので、なるべく具体的にお教え頂けると助かります。

よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2015/11/18 12:16:01
  • 終了:2015/11/23 11:26:20

ベストアンサー

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2015/11/19 21:59:53

1. javascriptの動作をphpで行う。
設計次第ですが、javascriptで生成するURLはさほど難しいものではない事が多いと思うので、それを解析してエミュレートするのは難しくないと思います。
ソースも参考になりますが、その参照に際しても、アクセスしているURLを知るにも、ブラウザにあるデベロッパーツールとか開発者ツールなどという機能が非常に役に立ちます。
http://www.buildinsider.net/web/chromedevtools/01#page-4

2. headless browserを使う
上記が出来ない、そこまでしたくない場合は、実際の画面を持たず、スクリプトなどから使えるheadless browserを使ってアクセスすればjavascriptも実行されます。
ただ、ブラウザですからちょっと重たいかも知れません。
http://jonnnnyw.github.io/php-phantomjs/

匿名質問者

ありがとうございました。
私には敷居が高いようです。
取り急ぎ御礼まで

2015/12/10 13:40:12

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません