我正在尝试创建一个R脚本,该脚本具体详细说明如何获取我在R中用于分析的数据,以实现可重现性。通常第一步就像将xls文件的URL分配给R中的变量并从那里继续进行一样简单,但我正在搜索的网站似乎通过javascript(我不知道的语言)生成其xls文件。
按照以下步骤操作示例XLS:
在此页面上,您应该看到所有数据以及一些链接。其中一个链接标题为“将结果另存为Excel电子表格”。单击此链接将下载包含数据的XLS文件到您的计算机。
我已经检查了该元素,并且可以清楚地看到它正在查询数据库,我只是不完全确定如何将该查询放入我的R脚本中以拉下xls文件。
非常感谢任何帮助。
答案 0 :(得分:1)
(可能在技术上不是一个完整的答案,但评论框不允许真正的格式化)
RSelenium可以执行所有这些操作。但是,会有多种不同的选择/组合选项吗?如果没有,你可以建立一个像这样的URL列表:
http://hcupnet.ahrq.gov/HCUPnet.jsp?Parms=H4sIAAAAAAAAACWJPQ.CMBgG_5KYMDACHSTGBgUT16fvtcrXoos_nybc5ab766evfDcU52vnonsVmlVWVfCnFIcQw9rXo0wEDIgsrGwk3ppkNQ0tTnb72BNPP7YX7jzyy6YDzbkdSuxNr2gAAAA6D4E19A7096C3AE9FD48005A5B0802A684BBBEB8
每次下载都会直接进入该页面。您可以通过点击 Esc 来捕获该网址,而不是实际下载XLS文件,然后从位置栏复制网址。
在该页面上,您可以使用XML
库或rvest
来提取并提取以下代码后的onclick
属性:
<a href="Javascript:void(0)"
onclick="window.open('HCUPnet.xls?Id=0A8C3E07CD01B562&Form=DispTab&JS=&Action=%3E%3ENext%3E%3E&__InDispTab=Yes&_Results=Save&_Results3=&SortOpt=');">
<img height="19" src="arrow_off3.gif" alt="" align="absMiddle" width="15" border="0">
Email a link to this page</a>
(我包含完整的锚引用,因为您需要在XPath或CSS选择器中使用它来查找该标记,但您可能只需执行XPath或CSS“contains”for {{也可以在HCUPnet.xls
属性中添加1}}。
然后,只需从中提取onclick
字符串,并在HCUP…
调用中将http://hcupnet.ahrq.gov/
添加到其中。