「自動ブラウジング」スクリプトで作業しています。私のスクリプトは、特定のページをダウンロードし、これらを解析して特定の値を見つけ、出力を生成できるはずです。また、サーバーには認証が必要です。
これらのページは認証部分も含めてPHPからCURL libを使って取得できましたが、問題はこれらのページの内容がjavascript関数内で生成されているため、CURL関数でダウンロードした後、ほとんどの内容が欠落しているためです。 JS コードは実行されません。
したがって、 JS が実行された後のDOM が必要です。私はこれに対する最善のアプローチを見つけるのに時間を費やしましたが、それを見つけたかどうかはわかりません. とにかく、まだうまくいかなかったので...
私がしたことは、Linuxボックスにphantomjsをインストールし、ダウンロードしたページでJSコードを実行するためだけにそれを使用しようとすることでした. そのため、CURL を使用してページをダウンロードし、「test.html」ファイルとして保存してから、「phantomjs test.html」を実行しますが、取得できるのは次のとおりです。
$ phantomjs test.html
undefined:1 SyntaxError: Parse error
そして、絞首刑にされたように、それ以上何もしません。
test.html には、スクリプト タグ内に html と JS コードの両方が含まれています。JS を使用する他のすべての一般的な Web ページと同様です。
とにかく、test.html に問題がないことを確認するために、wget を使用して google.com の index.html ページをダウンロードしましたが、同じ結果が得られました。
$ phantomjs index.html
undefined:1 SyntaxError: Parse error
だから私は何か間違ったことをしているに違いないと結論付けました...
どんな助けでも大歓迎です。:-)
ベスト、