我正试图用Rvest从$ JOB的内部网页上刮掉一张桌子。 我用the methods listed here来获取xpath等等。
我的代码非常简单:
library(httr)
library(rvest)
un = "username"; pw = "password"
thexpath <- "//*[@id="theFormOnThePage"]/fieldset/table"
url1 <- "https://biglonghairyURL.do?blah=yadda"
stuff1 <- read_html(url1, authenticate(un, pw))
这给我一个错误:“对等证书无法使用给定的CA证书进行身份验证。”
不考虑证书的最新版本,我看到it's possible using httr to avoid the ssl verification使用set_config(config(ssl_verifypeer = 0L))
。
如果我使用来自httr的GET(url1),这只会很有效,但重点是使用rvest自动抓取表格。
查看Rvest和httr的PDF,似乎Rvest调用httr来传递curl命令,而在httr中,你可以使用config()
。
那么,要完成三段论,我怎么能(或者甚至可能?)直接通过rvest :: read_html传递ssl_verifypeer = 0L?
我尝试了很多变种:
stuff1 <- read_html(url1, authenticate(un, pw), ssl_verifypeer = 0L))
stuff1 <- read_html(url1, authenticate(un, pw), config(ssl_verifypeer = 0L)))
stuff1 <- with_config(config = config(ssl_verifypeer = 0L), read_html(url1, authenticate(un, pw)))
所有这些错误都会引发相同的错误“对等证书无法使用给定的CA证书进行身份验证。”
希望这是可能的,我只是没有把正确的语法放在一起?
有人建议使用RSelenium,但由于这是在受保护的VM中,安装java和/或新软件包会采取国会行为(以及VP签收),这将是我的最后手段。
我非常感谢你提出任何建议。