【发布时间】: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 如果您在下拉列表中选择“状态”,它会出现。