【问题标题】:Missing website source code when using htmlParse() in R在 R 中使用 htmlParse() 时缺少网站源代码
【发布时间】:2013-03-14 12:41:21
【问题描述】:

我正在尝试下载以下网站的完整源代码: http://www.carnegiehall.org/Students/.

我要提取的信息是以下部分:

卡内基音乐厅礼物

2013 年 3 月 28 日,星期四 |晚上 7 点 30 分

劳伦斯·布朗利

马丁·卡茨

赞克尔大厅

查看源代码显示该文本的以下代码块:

 <div class="info-col">
     <div class="up-lic">Carnegie Hall Presents</div>
     <div class="date">Thursday, March 28, 2013 | 7:30 PM</div> 
     <div class="clearfix"></div>
     <div class="title color">
         <a href="/Calendar/2013/3/28/0730/PM/Lawrence-Brownlee-Martin-Katz/">Lawrence Brownlee<BR>Martin Katz</a>
     </div>
     <div class="clearfix"></div>
     <div class="location"> Zankel Hall</div>
     <div class="clearfix"></div> 
     <br />

当我在 R 中运行以下内容时丢失了:

htmlParse(getURL("http://www.carnegiehall.org/Students", .opts = curlOptions(followlocation=TRUE)), asText = TRUE)

谁能告诉我我做错了什么?

【问题讨论】:

    标签: r html-parsing


    【解决方案1】:

    问题似乎只是获取 URL(而不是解析它)。你要找的信息没有过来,如下图:

    H <- getURL("http://www.carnegiehall.org/Students", .opts = curlOptions(followlocation=TRUE))
    
    grepl("Zankel Hall", H)
    # [1] FALSE
    
    grepl("March 28", H)
    # [1] FALSE
    

    如果您仔细查看 html,您会发现日历正在通过脚本加载

    【讨论】:

      【解决方案2】:
      library(XML)
      hdata <- htmlParse('http://www.carnegiehall.org/Students/')
      xpathSApply(hdata,'//div[@class="info-col"]/div/text()|//div[@class="info-col"]/div/a/text()')
      #[[1]]
      #Carnegie Hall Presents 
      
      #[[2]]
      #Thursday, March 28, 2013 | 7:30 PM 
      
      #[[3]]
      
      
      #[[4]]
      #Lawrence Brownlee 
      
      #[[5]]
      #Martin Katz 
      
      #[[6]]
      # Zankel Hall 
      
      #[[7]]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多