2017-10-20 36 views
0

假设我有以下网址:我如何关注R中的url重定向?

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

当进入我的标准桌面浏览器,我得到重定向到:

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

不过,我不能够实现这个在R.我尝试了包httr和RCurl。在HTTR的文档,上面说的功能习惯于如下:

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

应该是导致实际使用的网址(在所有重定向后)。但是当调用url:

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

我没有得到最后的重定向。我非常感谢你的帮助!

回答

2

在这个网站的重定向工作与JavaScript,而不是http。因此,除非您解释下载文档的内容,否则重定向将不起作用。

如果你想解析来自同一站点的许多文档,你可以直接从文档中解析重定向URL。

如果你想用不同的重定向机制解析许多不同的网站,你需要一些实际加载网站并运行javascript的库,例如RSelenium

+0

@ sanaut。非常感谢您的快速回复。我希望得到一个不同的答案,但这很有道理。也感谢RSelenium的提示。 –