【问题标题】:Downloading CSV as plain/text from Website从网站以纯文本/文本格式下载 CSV
【发布时间】:2021-11-12 03:28:49
【问题描述】:

我正在尝试自动从网站下载数据集,但无法获得我想要的内容。我曾尝试使用RCurl,但它遇到了tlsv1 alert protocol version 错误。我可以使用httr 执行下载,但我收到的是plain/html 格式的文件,这显然不是我想要的。我已经尝试了一些其他的东西,但似乎没有任何效果。请指教。

使用httr下载的代码:

###lung cancer screening locator tool url
url1 = "https://report.acr.org/#/site/PUBLIC/views/NRDRLCSLocator/ADownload.csv"

GET(url1, write_disk(tf <- tempfile(fileext = ".csv"))) #produces file of content type 'plain/html'

lcsr = read.csv(tf)

这个请求的原始网站是https://www.acr.org/Clinical-Resources/Lung-Cancer-Screening-Resources/LCS-Locator-Tool,其背后的Tableau位于https://report.acr.org/t/PUBLIC/views/NRDRLCSLocator/LCSLocator?:embed=y&:showVizHome=no&:host_url=https%3A%2F%2Freport.acr.org%2F&:embed_code_version=3&:tabs=no&:toolbar=no&:showAppBanner=no&:display_spinner=no&:loadOrderID=0

【问题讨论】:

  • 你试过download.filestat.ethz.ch/R-manual/R-devel/library/utils/html/…吗?编辑 - 如果你不知道 read.csv/read_csv 可以直接阅读网址
  • 我认为 url 有一个重定向:它应该与这个 report.acr.org/t/PUBLIC/views/NRDRLCSLocator/ADownload.csv 一起使用。正如@Quixotic22 所说,如果您想即时阅读,可以使用read.csv(url)
  • 网络浏览器不会在此 URL 处以纯文本形式提供 csv。涉及必须执行的javascript。看看 RSelenium 以自动化可以在浏览器中完成的任何事情。还有一个 ssl 证书问题,所以你需要在 bash 中做 wget --no-check-certificate https://report.acr...
  • @danlooo 好的,我会检查一下。
  • @QHarr 如果您在下拉列表中选择“状态”,它会出现。

标签: r httr rcurl


【解决方案1】:

RSelenium 解决方案,

按照this设置下载目录,

library(RSelenium)

#Setting download directory, 
eCaps <- list(
  chromeOptions = 
    list(prefs = list('download.default_directory' = "D:\\mywork"))
)
driver <- rsDriver(browser = "chrome", extraCapabilities = eCaps)
remDr <- driver[["client"]]
remDr$navigate("https://report.acr.org/#/site/PUBLIC/views/NRDRLCSLocator/ADownload.csv")
library(readr)
df = read_csv('ADownload.csv')

【讨论】:

  • 谢谢。这将执行下载。有没有一种方法可以在不更改 Chrome 中的默认下载位置的情况下控制下载的保存位置?
  • 答案已修改...
  • 谢谢。我必须添加参数extraCapabilities = eCaps 才能使其工作,但毕竟你为让我到达那里所做的一切都很简单。完美运行。
  • 哦抱歉忽略了我的部分,修改了答案。
猜你喜欢
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-30
  • 1970-01-01
相关资源
最近更新 更多