我正试图用Rvest从$ JOB的内部网页上刮掉一张桌子.我已经使用这里列出的方法来获取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证书进行身份验证."
撇开不向上到datedness证书的,我已经看到,它可能使用HTTR避免SSL验证使用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签收),这将是我的最后手段.
我非常感谢任何有关这方面的建议.