2012-03-19 8 views
1

ウェブページのソースコードをダウンロードするには、Rを使用する必要があります。Rを使用してWebページのソースコードを表示するには?

Firefoxで「ソースコードを表示」をクリックすると、すべてのソースコードが表示されます。 しかし、RCurlを使ってソースコードをダウンロードすると、その一部しか表示されません。行方不明の部分はJavascriptによって生成されるので、それはおそらく問題ですか? RCurlはJavascriptで生成された情報を見ることができませんか?

ソースコードをRにするにはどうすればよいですか?私が試したようなRCurlまたはtxtファイルのいずれかを介して、Rにロードされた後は問題ありません。

答えて

0

RCurlがちょうど転送のHTTPの一部を処理し

おかげ。ページ内のコードを実行するためのJavascriptインタプリタはありません(追加のHTMLをダウンロードしたり直接書き込む可能性があります)。 URLをダウンロードして付随するJavascriptを実行し、その結果をファイルに保存できるコマンドラインプログラムを見つける必要があります。このプログラムはsystem()を使って呼び出すことができます。

+0

ありがとう これを行うコマンドラインプログラムに関する提案はありますか? – user1107035

+0

申し訳ありませんが、私はそれを行うプログラムの経験がありません。私はおそらくあなたがそれをするためにFirefoxを得ることができると思ったが、私は非常に迅速な検索では何も明らかに見えませんでした。 –

2

elinksテキストブラウザにはJavaScriptのサポートがあります。このサポートを設定/強化する方法については、ドキュメントを参照してください。

elinks -dump www.google.com 

はレンダリングバージョンのサイトを提供します。

より良い選択肢はmozreplです。これは、Firefoxに、あなたがjavascriptのWebページから行うことができます何でも行うことができますコマンドプロンプトから接続します。

telnet localhost 4242 
repl> var w=window.open("https://google.com") 
repl> w.document.getElementsByTagName('html')[0].innerHTML 

はあなたのページを与える必要があります。

mz <- socketConnection("localhost", "4242") 
writeLines("var w=window.open(\"https://google.com\")\n",mz) 
out <- readLines(mz) #empty the buffer 
writeLines("w.document.getElementsByTagName('html')[0].innerHTML\n", mz) 
out <- readLines(mz) 
str(out) 

を与える必要があります:

chr [1:73] "repl> repl> \"<head><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"><meta itemprop=\"image\" content=\"/"| __truncated__ ... 

あなたが必要なもののためにフィルタを進めることができ

質問はRで、この作品を作る方法です。

関連する問題