2017-10-11 19 views
0

我的妻子想要捕获我们在线的医疗博客的所有条目。我认为这将是一个很好的机会尝试网络扫描,因为复制粘贴将永远。我的代码如下:Rvest和无法连接

library(rvest) 
url <- "http://www.carepages.com/" 
pgsession <-html_session(url) 
pgform <- html_form(pgsession)[[1]] 
filled_form <- set_values(pgform, 
        'session[email]' = "[email protected]" 
        'session[password]' = "mypassword") 
submit_form(pgsession,filled_form) 

然而,当我运行它,我得到一个

错误卷曲:: curl_fetch_memory(URL,手柄=手柄): 无法连接到www.carepages.com端口80:超时

甚至无法进入页面尝试刮取每个博客。

回答

0

所呈现的是应该发生的代码的第一个错误是

Error: unexpected string constant in: 
    "    'session[email]' = "[email protected]" 
        'session[password]'" 

...这之后"[email protected]"

用途涉及缺少逗号第二种形式htat页面上,而不是:

pgform <- html_form(pgsession)[[2]] 
filled_form <- set_values(pgform, 
        'session[email]' = "[email protected]" 
        'session[password]' = "mypassword") 
+0

当我粘贴时,逗号是一个疏忽,因此现在没问题。改变了第二部分,现在我得到as.vector的 错误(Y):对象pgform'未找到 然后 在lapply错误(X,F):对象“filled_form”未找到 – JLUser

+0

不多因为我很确定这些都不是有效的电子邮件和密码值,所以我可以做更多的测试代码。看起来很清楚,'pgform'对象应该存在。当我用str()查看它时,我发现'email'和'password'都不是字段名称。 –

+0

AND ...我认为你应该使用第二个表单对象而不是第一个。有人会看到一个名为''session'的邮件[email]“' –