我正在试图抓住足球运动员在比赛名单中所扮演的俱乐部(例如在http://www.transfermarkt.com/alan-shearer/leistungsdatendetails/spieler/3110/wettbewerb/GB1为Alan Shearer,特别是在表#3中,一个名为“超级联赛”的hughe)
令人恼火的是,桌子“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"))
但是相邻专栏(相对)中的一些(大约每五个一个)俱乐部也在这个图像类中,所以我得到一个点缀着俱乐部的列表。有没有办法指定一个表的列来刮掉(或其他一些更聪明的方法来实现我想要的)?
一如既往地先发制人,谢谢,
答案 0 :(得分:2)
您可以使用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()