从https获取网站而不是CSV从aspx下载

时间:2015-11-11 16:33:59

标签: asp.net r csv https download

警告:纽贝在这里。我会很感激一些指导。我正在尝试投资,以学习如何使用R自动化下载。

我需要什么: 从本网站下载所有县和报告期的页岩气井数据: https://www.paoilandgasreporting.state.pa.us/publicreports/Modules/Production/ProductionByCounty.aspx (请注意,进入时可能会询问协议,而不是很重要)

我可以访问列出我要下载的所有CSV文件的页面。不幸的是,该网站具有与上述相同的地址。 (您可以尝试选择一个县和一个报告期并自己查看)

但是,在该页面中,会列出激活CSV下载的链接。对于他们每个人是这样的: https://www.paoilandgasreporting.state.pa.us/publicreports/Modules/Production/ProductionByCountyExport.aspx?UNCONVENTIONAL_ONLY=false&INC_HOME_USE_WELLS=true&INC_NON_PRODUCING_WELLS=true&PERIOD=15AUGU&COUNTY=ALLEGHENY

我尝试了什么:

library(downloader)

download ("https://www.paoilandgasreporting.state.pa.us/publicreports/Modules/Production/ProductionByCountyExport.aspx?UNCONVENTIONAL_ONLY=false&INC_HOME_USE_WELLS=true&INC_NON_PRODUCING_WELLS=true&PERIOD=15AUGU&COUNTY=ALLEGHENY",
          destfile="Prod_AUG15_Allegheny.csv")

我跟随另一个人在这里做了什么: Download documents from aspx web page in R

问题: 此命令保存网站而不是csv文件。

trying URL 'https://www.paoilandgasreporting.state.pa.us/publicreports/Modules/Production/ProductionByCountyExport.aspx?UNCONVENTIONAL_ONLY=false&INC_HOME_USE_WELLS=true&INC_NON_PRODUCING_WELLS=true&PERIOD=15AUGU&COUNTY=ALLEGHENY'
Content type 'text/html; charset=utf-8' length 11592 bytes (11 Kb)
opened URL
downloaded 11 Kb

问题: 它与我的页面是https而不是http相关吗? 关于如何解决它或其他相关的帖子的任何指导? (我可以在aspx下载上找到一些帖子,但没有任何帮助)

提前致谢

1 个答案:

答案 0 :(得分:2)

@hrbrmstr它奏效了!不是我想要的方式,但是使用RSelenium我可以点击按钮接受协议并实际打开下载链接。

这是代码(很简单,但我整天都花了很多时间才发现,真可惜):

# Using RSelenium to save file
##Installing the package if needed
install.packages("RSelenium")
##Activating 
library("RSelenium")
checkForServer()
startServer()
#I had to start the server manually!
remDr <- remoteDriver()
remDr
remDr$open()
#open website and accepting conditions
remDr$navigate("https://www.paoilandgasreporting.state.pa.us/publicreports/Modules/Welcome/Agreement.aspx")
AgreeButton<-remDr$findElement(using = 'id', value="MainContent_AgreeButton")
AgreeButton$highlightElement()
AgreeButton$clickElement()

remDr$navigate("https://www.paoilandgasreporting.state.pa.us/publicreports/Modules/Production/ProductionByCountyExport.aspx?UNCONVENTIONAL_ONLY=false&INC_HOME_USE_WELLS=true&INC_NON_PRODUCING_WELLS=true&PERIOD=15AUGU&COUNTY=ALLEGHENY")

然而!!我无法保存csv文件:-(。我知道我需要一个命令&#34;保存链接为...&#34;但我在另一个与RSelenium相关的主题中问这个。

当我发现时会编辑答案!