【问题标题】:How to access to Https page in R如何在 R 中访问 Https 页面
【发布时间】:2015-04-22 14:45:19
【问题描述】:

在 R 中编码,我正在尝试从网站解析一些信息,比如链接页面。链接的网址是

url = "http://www.linkedin.com/in/lillyzhu"

使用 readLines 和 XML 包收集我需要的信息没有问题。但是,该网址变成了

url = "https://www.linkedin.com/in/lillyzhu"

readLines 函数失败。

readLines(url) 文件中的错误(con,“r”):无法打开连接 在 file(con, "r") 中:不支持的 URL 方案

如果url是R中的https,你知道有什么方法可以读入web信息吗?非常感谢。

【问题讨论】:

    标签: r


    【解决方案1】:

    你试过 R 包 httr 吗?简单如:

    library('httr')    
    content(GET('https://www.linkedin.com/in/lillyzhu'))
    

    【讨论】:

    • 谢谢。但是,使用这种方法,我只得到了 而不是
    • 精明,你得到了内容,它只是截断响应以供显示。
    【解决方案2】:

    readLines() 不支持“https”。但这可以很容易地通过包“RCurl”来获取 URL 内容,并包 XML 来解析 html 文本。

    library(XML)
    library(RCurl)
    
    content <- getURL("https://www.linkedin.com/in/lillyzhu")
    doc <- htmlParse(content, asText = TRUE)
    
    summary(doc)    
    # $nameCounts
    # 
    #    span      div       li   script        a       br     meta        p 
    #     104       92       79       77       73       22       19       14 
    #    time       h5      img     link       h3       ul       h4   header 
    #      14       13       13       10        9        8        7        7 
    #      h2   strong       ol       td       th       tr    input noscript 
    #       5        5        4        4        4        4        3        3 
    #  button       dd       dt   iframe    label     body       dl       em 
    #       2        2        2        2        2        1        1        1 
    #    form       h1     head       hr     html    table    title 
    #       1        1        1        1        1        1        1 
    # 
    # $numNodes
    # [1] 613
    

    【讨论】:

      【解决方案3】:

      只需在readLines 之前使用setInternet2(TRUE)

      setInternet2(TRUE)
      web_page <- readLines("https://www.linkedin.com/in/lillyzhu")
      

      另请参阅:Error in download.file unsupported URL scheme

      【讨论】:

      • 聪明。这是迄今为止我得到的最简单的解决方案。非常感谢。
      • 这仅适用于Windows用户
      • 从 R 3.3.0 开始,setInternet2 现已失效。所以这个解决方案对于 R 3.3.0 或更高版本不再可行。
      猜你喜欢
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 2022-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多