base :: url读取网页,但是xml2 :: read_html给出404错误

时间:2019-09-22 04:10:21

标签: r http-status-code-404 rvest xml2

使用rvest时遇到了一个非常奇怪的问题。这是示例之一:https://politics.raisethemoney.com/cchristiansen。该页面可以在任何Web浏览器中正常打开,并且可以由base::url打开。

A connection with                                                              
description "https://politics.raisethemoney.com/cchristiansen"
class       "url-libcurl"                                     
mode        "r"                                               
text        "text"                                            
opened      "closed"                                          
can read    "yes"                                             
can write   "no"  

使用xml2::read_html时会出现404错误。

  

open.connection(x,“ rb”)中的错误:HTTP错误404。

在Rstudio Cloud和本地计算机(Windows 10)上均进行了测试。我很困惑。为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:2)

服务器正在请求中查找特定的标头,即

'Accept' : ''

需要提供此信息,以便从服务器发出200的请求。例如,此标头是httr中的默认标头,但我假设您尝试使用的方法没有此标头。

以下是我使用Python requests(有点类似于rvest)运行的一些快速测试:

enter image description here