11

これを行う方法をしばらく探していましたが、正しい方法を見つけることができませんでした。

タスク: Linux コマンド ラインから Javascript を実行します。

たとえば、バイナリまたはJavascriptを解釈するものにいくつかの.jsファイルをロードさせてから、変数の値を出力します。

より具体的な例: http://www.vureel.com/video/2809/American-Dadを Javascript が解釈および実行された後に、このページの最終バージョンを取得したいと考えています。Firebug のあるページを見ると、このあいまいな Javascript が

<script language="JavaScript" type="text/javascript">/*<![CDATA[*/var a,s,n;function a8bcb4f34dfd6e81cfdb9c115d1671582(s){r="";for(i=0;i<s.length;i++){n=s.charCodeAt(i);if(n<128){n=n ... etc ...</script>

素敵な埋め込みコードに変わりました

<embed height="390" width="642" flashvars="file=http://vureel-cdn-2.vureel.com/leechingisillegal/537c69afbcaf4c7cf416f30077bbe9d1/4a29621d/here/2809.flv ...etc .../>

これは単なる例ですが、うまくいけば、私が運転していることがわかります。

4

5 に答える 5

7

Rhinoエンジンを見てみましょう( Rhino on wikipedia ) 。

いくつかの代替手段を次に示します。


Node.jsも参照してください。

于 2009-06-05T18:54:48.917 に答える
3

2 つの異なるポイントでの運転の種類 1) ブラウザー外で JavaScript を実行する 2) Web ページで JavaScript の結果を表示する。

最初の問題については、mozilla rhino は Java で実行される JavaScript インタープリターです。コマンドラインから JavaScript を実行できます。

2 番目の問題については、Firebug の dom タブを見てください。javascript が実行された後の結果のドキュメント要素を確認できます。

または、スクリプトのデバッグを有効にして、ページのローカル コピーを保存し、debug(); に挿入することもできます。声明。

于 2009-06-05T18:35:09.567 に答える
2

JavaScriptの実行中にスクレイピングを行いたいと思います。http://ejohn.org/blog/bringing-the-browser-to-the-server/に記載されている env.jsが参考になるかもしれません。私は自分のツールでそれを試すつもりでしたが、時間がなくてできず、サイト固有のスクリプトで解決しました。

于 2009-06-05T18:51:03.997 に答える
2

http://phantomjs.org/を見てください。

これはヘッドレス Web ブラウザーであるため、DOM を構築し、実際のブラウザーと同じように操作できます。明らかに、結果をエクスポートできます。

于 2012-06-17T18:04:32.113 に答える
0

Python が好きなら、GitHub からghost.pyを入手できます。これにより、ヘッドレスの WebKit ブラウザーを作成し、Python スクリプト内から制御できます。私はこれを IPython Notebook を通じてインタラクティブに使用しましたが、すぐに使用できました。私はそれを BeautifulSoup で動作するように拡張しました。

于 2012-10-11T01:53:52.820 に答える