我正在嘗試使用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