file_get_contentsやcurlだとJavascript実行「前」のhtmlになってしまうので、Javascript実行「後」のhtmlを取得する方法を知りたいです。
コメントからコピペ。
PhantomJSをインストールしてshell_exec()で……というのがまず頭に浮かんだ(試したことはない)。
http://stackoverflow.com/questions/24300717/running-phantomjs-from-php-with-exec
poletaewという人が、php-phantomjs and PhantomJS Runnerをかわりに使えと言っているのが気になる。
Yahoo!知恵袋に似た質問を発見
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14138678874
Selenium2を使うという方法があるようだ。
Yahoo Pipes!みたいなものでJavaScript実行後のHTMLを取得できるようなものは
ないのだろうか?
ついでにこの質問に出会った感想でも書いておこうかな。
ブラウザでJavaScriptを無効にする人は昔と比べるとだいぶ減ったから
JavaScriptに依存したWebページのアクセシビリティの問題は気にしない人が増えていて、
自分もそうなりつつあるのですが、
PHPとかでスクレイピングするというWebページの利用のされかたも想定しないとなーと
ちょっと考えさせられました。まる。
Webスクレイピングのことでしょうか。
Webスクレイピングの場合は、
http://www.buildinsider.net/web/bookphplib100/088
のサイトが参考になるかもしれません。
http://blog.asial.co.jp/1316
ありがとうございます。
JavaScript を実行するには JavaScript の実行エンジンが必要です。私が知る限りでは PHP で実装された JavaScript エンジンは存在しないため、PHP で JavaScript の実行後の HTML を取得をすることはできません。
「PHPで」というのが「PHPだけで」なのかどうかはっきりしませんが、すでにコメント欄で触れられているように、php-phantomjs を使えばある程度は要求を満たせるかと思います。
回答ありがとうございます。
phpでjavascriptエンジンが出てくれるととても助かるのですが。
コメントからコピペ。
PhantomJSをインストールしてshell_exec()で……というのがまず頭に浮かんだ(試したことはない)。
http://stackoverflow.com/questions/24300717/running-phantomjs-from-php-with-exec
poletaewという人が、php-phantomjs and PhantomJS Runnerをかわりに使えと言っているのが気になる。
Yahoo!知恵袋に似た質問を発見
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14138678874
Selenium2を使うという方法があるようだ。
Yahoo Pipes!みたいなものでJavaScript実行後のHTMLを取得できるようなものは
ないのだろうか?
ついでにこの質問に出会った感想でも書いておこうかな。
ブラウザでJavaScriptを無効にする人は昔と比べるとだいぶ減ったから
JavaScriptに依存したWebページのアクセシビリティの問題は気にしない人が増えていて、
自分もそうなりつつあるのですが、
PHPとかでスクレイピングするというWebページの利用のされかたも想定しないとなーと
ちょっと考えさせられました。まる。
早々のコメントありがとうございました。
最近、javascript使ってるサイトが本当に多くなってきました。
早々のコメントありがとうございました。
2014/12/28 09:42:46最近、javascript使ってるサイトが本当に多くなってきました。