【问题标题】:Rvest - Can't read content of website - Don't know which nodes to selectRvest - 无法读取网站内容 - 不知道选择哪些节点
【发布时间】:2020-01-28 03:15:45
【问题描述】:

说明

我正在抓取网页以检索相关数据。作为示例,我将使用此 URL:

示例

https://isbnsearch.org/search?s=THE+GODFATHER+%2C+Mario+Puzo

我的第一次迭代基本上是搜索“教父,马里奥·普佐”,结果显示在发布的 URL 中。

问题

我正在尝试使用read_html(),但我不知道在html_nodes() 函数中包含什么来检索任何有意义的数据。我尝试使用 'table' 或类似的东西,但没有奏效:返回一个空列表。

最终目标是获得第一个搜索结果的 ISBN-13 或 ISBN-10。我可以解决这个问题,我只需要访问数据。

我假设*解决方案看起来像:

url <- 'https://isbnsearch.org/search?s=THE+GODFATHER+%2C+Mario+Puzo'

data<-read_html(url) %>% html_nodes("something") %>% #maybe another function

但我不知道,希望有人能提供帮助。

提前致谢。

【问题讨论】:

    标签: r web-scraping rvest


    【解决方案1】:

    如果您在 Chrome 中右键单击 ISBN 并选择“检查”,您会看到每个搜索结果都是具有以下结构的列表项(为清楚起见,省略了一些元素):

    <ul id="searchresults">
      <li>
        <div class="bookinfo">
          <h2><a href="/isbn/9780451205766">The Godfather: 50th Anniversary Edition</a></h2>    
            <p>Author: Mario Puzo</p>
            <p>ISBN-13: 9780451205766</p>
            <p>ISBN-10: 0451205766</p>
            <p class="clear"></p>
        </div>
      </li>
    

    因此,您想要的元素的 CSS 选择器是 div.bookinfo p

    您可以使用以下方法检索这些段落的文本:

    p <- read_html("https://isbnsearch.org/search?s=THE+GODFATHER+%2C+Mario+Puzo")
    p %>% 
      html_nodes("div.bookinfo p") %>% 
      html_text()
    

    然后编写一些逻辑来仅访问感兴趣的 ISBN。例如,使用 grep 返回所有 ISBN:

    p %>% 
      html_nodes("div.bookinfo p") %>% 
      html_text() %>% 
      grep("ISBN*", ., value = TRUE)
    
     [1] "ISBN-13: 9780451205766" "ISBN-10: 0451205766"    "ISBN-13: 9780345441706" 
         "ISBN-10: 0345441702"    "ISBN-13: 9780345432407"
     [6] "ISBN-10: 0345432401"    "ISBN-13: 9780345412218" "ISBN-10: 0345412214"    
         "ISBN-13: 9780345476722" "ISBN-10: 0345476727"   
    [11] "ISBN-13: 9781936530335" "ISBN-10: 1936530333"
    

    【讨论】:

      猜你喜欢
      • 2017-03-22
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      • 2021-11-28
      • 1970-01-01
      相关资源
      最近更新 更多