【问题标题】:rvest scrape from a specified column in a tablervest 从表中的指定列中刮取
【发布时间】:2016-07-11 15:18:26
【问题描述】:

我正在尝试在比赛列表中搜索足球运动员效力的俱乐部(例如,http://www.transfermarkt.com/alan-shearer/leistungsdatendetails/spieler/3110/wettbewerb/GB1 的 Alan Shearer,特别是在表 3 中,名为“超级联赛”的休格)

令人讨厌的是,表格“For”列中的俱乐部被编码为具有“tiny_wappen”类的图片。我可以用

刮掉这些并将它们放入data.frame中
link <- "http://www.transfermarkt.com/alan-shearer/leistungsdatendetails/spieler/3110/wettbewerb/GB1"
    UrlPage <- read_html (link)
    Node <- UrlPage %>% html_nodes("table") %>% `[`(3) %>% html_nodes("img.tiny_wappen")
    ClubFor <- data.frame(html_attr(Node, "alt"))

但是相邻列 (vs.) 中的一些(大约五分之一)俱乐部也在这个图像类中,所以我得到了一个列表,上面点缀着对阵过的俱乐部。有没有办法指定要从中刮取的表的一列(或其他更聪明的方法来实现我想要的)?

一如既往的先发制人,

【问题讨论】:

    标签: r screen-scraping rvest


    【解决方案1】:

    您可以使用xpaths 抓取每行的第四个单元格

    Node <- UrlPage %>%
      html_nodes(xpath = "//*[@id='main']/div[9]/div[1]/div[2]/div[3]/table/tbody/tr/td[4]/a/img") 
    
    ClubFor = Node %>%
      html_attr("alt") %>%
      data.frame()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      • 2019-10-09
      • 2016-09-14
      • 1970-01-01
      • 2017-03-25
      相关资源
      最近更新 更多