【发布时间】:2013-12-12 02:28:50
【问题描述】:
我希望从在 R 中找到的表中创建一个 data.frame http://netflixcanadavsusa.blogspot.ca/2013/11/alphabetical-list-k-4-am-fri-nov-22-2013.html#more
它由三列组成。前两列可能包含也可能不包含标志图像,第三列是文本。提取物是
<span class="listings">
<table>
<tr>
<td><img class="flag" src="http://bit.ly/Y9CbVZ" /></td>
<td></td>
<td><b><a target="_blank" href="http://movies.netflix.com/WiMovie/70187567">1000 Ways to Die - Season 3</a> (2010)</b> <i style="font-size:small"> 3.6 stars, 1 Season <a target="_blank" href="http://www.imdb.com/search/title?title=1000 Ways to Die - Season 3">imdb</a></i>
</td>
</tr>
<tr>
<td><img class="flag" src="http://bit.ly/Y9CbVZ" /></td>
<td><img class="flag" src="http://bit.ly/WXvnLp" /></td>
<td><b><a target="_blank" href="http://movies.netflix.com/WiMovie/100_Below_Zero/70273426?trkid=1889703">100 Below Zero</a> (2013)</b> <i style="font-size:small"> 2.8 stars, 1hr 28m <a target="_blank" href="http://www.imdb.com/search/title?title=100 Below Zero">imdb</a></i></td>
</tr>
</table>
</span>
所以这里第一行仅在第一列中有图像,第二行在两者中都有。我可以提取文本和图像 url,但无法将它们匹配以考虑丢失的数据。这是我迄今为止所做的 - URL 指的是上面的站点,我刚刚显示了提取的结果
library(XML)
myURL <- "http://netflixcanadavsusa.blogspot.ca/2013/11/alphabetical-list-k-4-am-fri-nov-22-2013.html#more"
basicInfo <- htmlParse(myURL, isURL = TRUE)
### text
df <- readHTMLTable(myURL,header=c("flag1","flag2","movie"), stringsAsFactors = FALSE)[[1]]
head(df,2)
# V1 V2 V3
# 1 1000 Ways to Die - Season 3 (2010) 3.6 stars, 1 Season imdb
# 2 100 Below Zero (2013) 2.8 stars, 1hr 28m imdb
### images
xpathSApply(basicInfo, "//*/span[@class='listings']/table/tr/td/img/@src")
# src src src
#"http://bit.ly/Y9CbVZ" "http://bit.ly/Y9CbVZ" "http://bit.ly/WXvnLp"
所以我有图片,但不知道它们适用于哪一行/哪一列 在这个问题中,每一列只能有一个特定的图像,所以知道它是否发生就足够了。更一般的情况可能按行有不同的 src
TIA
【问题讨论】:
-
一如既往,当有人询问解析 HTML 时:stackoverflow.com/questions/1732348/…
-
谢谢。该链接是中篇小说的长度!任何更具体的机会
-
只是一个警告,在尝试解析 HTML 文件时要非常小心:-)
-
好的。但我之前多次使用上述功能都没有问题。只是没有遇到这个具体问题
标签: html r xml-parsing