我正在尝试使用forloop从列表中提取值。该列表包含我从网页上抓取的77个元素。他们被列入一个与strsplit匹配的相当凌乱的正则表达式的列表。使用for循环从列表中获取元素
chunk <- strsplit(lines, "(<tr>|</td>)(<td>|<td[^>]+>)|aws| MB| KB")
的样品元件看起来像:
> chunk[76]
[[1]]
[1] ""
[2] "<img src=\"/images/"
[3] "tats/flags/mn.png\" height=\"14\" alt='mn' title='mn' />"
[4] "Mongolia"
[5] "mn"
[6] "1"
[7] "1"
[8] "21.95"
[9] ""
[10] "<img src=\"/images/"
[11] "tats/other/hp.png\" width=\"2\" height=\"5\" alt='Pages: 1' title='Pages: 1' /><br />"
我试图提取我需要与每个元件的部分:
for (i in length(chunk)) {
values <- chunk[[i]][c(4,6:8)]
}
结果返回值总是最后列表元素的提取部分(chunk[[77]])
任何人都可以建议如何o为每个列表元素保留我需要的值。
而不是regexpr,使用例如,如果您解析HTML页面,则XML包中的xpath可能是一个选项。 – daroczig 2011-03-25 08:50:27
@daroczig,谢谢。我会研究这个。 – John 2011-03-25 10:05:22