r - 如何让 getURL 在 Windows 10 上的 R 上运行? [tlsv1警报协议(protocol)版本]

标签 r web-scraping rcurl geturl

显然在使用windows 10时getURL似乎有问题。我在网上搜索了很长时间,除了“使用[alternative]代替”之外找不到任何答案。然而,我目前正在上一门预编码算法的类(class),每当我用 Curl 替换 RCurl 时,一切都会崩溃,而且我根本不了解 R(我是一个完全的初学者),所以我真的很想使用 getURL 而不是其他东西,因为我无法修复算法的其余部分以使其工作。

例如,运行这段代码

theurl <- getURL("https://en.wikipedia.org/wiki/Opinion_polling_for_the_French_presidential_election,_2017"
                 ,.opts = list(ssl.verifypeer = FALSE) )

返回错误

Error in function (type, msg, asError = TRUE) : error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

接下来我要执行的几行代码是

theurl <- getURL("https://en.wikipedia.org/wiki/Opinion_polling_for_the_French_presidential_election,_2017"
                 ,.opts = list(ssl.verifypeer = FALSE) )
Data <- readHTMLTable(theurl, stringsAsFactors = FALSE, which=1)
Data
#regexpr(pattern="26_January_to_16_March_2017", text = theurl)

如果我使用任何替代方案,例如建议的this question ,那么要么我只更改第一行,删除 getURL 并使用 curl 而不是 RCurl,但 readHTMLTable 将不起作用,或者我替换第一行和第二行,但显然 readHTMLTable 和 readLines 不会做同样的事情,所以算法的其余部分失败或无法正常工作。我几乎无法用 R 编写代码,而且我正在运行的算法是由教授该类(class)的教授编写的,因此我自己无法轻松修复此问题

那么...有没有办法让 getURL 的东西发挥作用,这样我就不会在学期不及格?预先感谢您的帮助。

最佳答案

提前为我的英语道歉。尝试使用函数 GET 代替函数 getURL,不要忘记添加库 httr。

library(httr)
url <- "url of website" 
Data <- GET(url)
Data <- readHTMLTable(rawToChar(tabs$content), stringsAsFactors = F) 

我也遇到了 getURL 函数的问题

关于r - 如何让 getURL 在 Windows 10 上的 R 上运行? [tlsv1警报协议(protocol)版本],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64157670/

相关文章:

r - future 如何利用未知的数据?

R ggtree : How to label single tree tip with ggtree similar to labeling nodes with geom_cladelabel

r - 如何仅列出 R 中的某些文件?

r - 从 aov 中提取 p 值

javascript - 自动生成 css 选择器的第 n 个子方法的替代方法

python - 使用 Selenium 从网站上抓取值

html - 使用 .getElements 进行 VBA HTML 寻址

getURL 方法中的 RCurl 内存泄漏

R、GET 和 GZ 压缩

r - 在curl::curl_fetch_memory(url,handle=handle)中出错:从对等方接收数据时失败