2017-10-20 1 views
0

は、私は次のURLを持っていると仮定します。RのURLのリダイレクトはどのようにすることができますか?

http://linkinghub.elsevier.com/retrieve/pii/S1755534516300379

私の標準的なデスクトップブラウザにこれを入力するとき、私はにリダイレクト:

http://www.sciencedirect.com/science/article/pii/S1755534516300379?via%3Dihub

しかし、私はこれを実装することはできませんよ私はパッケージhttrとRCurlを試しました。

library(httr) 
GET("http://linkinghub.elsevier.com/retrieve/pii/S1755534516300379") 

が(リダイレクト後の)使用される実際のURLにつながることになっている。HTTRのドキュメントでは、次のように関数が慣れると言います。しかし、URLを呼び出すとき:

GET("http://linkinghub.elsevier.com/retrieve/pii/S1755534516300379")$url 

私は最終的なリダイレクトを取得しません。私はあなたの助けに非常に感謝します!

答えて

2

このサイトのリダイレクトは、httpではなくjavascriptで動作します。したがって、ダウンロードしたドキュメントの内容を解釈しない限り、リダイレクトは機能しません。

同じサイトから多数のドキュメントを解析する場合は、ドキュメントから直接リダイレクトURLを解析できます。

異なるリダイレクトメカニズムを使用して多くの異なるサイトを解析する場合は、サイトを実際にロードしてJavaScriptを実行するライブラリが必要です(例:RSelenium)。

+0

@ sanaut。あなたの素早い返信に感謝します。私は別の答えを期待していたが、それは完全に意味がある。 RSeleniumへのヒントもありがとう。 –

関連する問題