我有访问存储在csv中的亚马逊网站的数据,并将R作为data.frame读入对象“DataAmazon”
DataAmazon <- read.csv("URLs.csv", header = TRUE, comment.char = "",
stringsAsFactors = FALSE)
head(DataAmazon,2) #Top 2 rows of data
https://www.amazon.co.uk/gp/product/B01L8PLHTI/ref=s9_acsd_hps_bw_c_x_1_w?pf_rd_m=A3P5ROKL5A1OLE&pf_rd_s=merchandised-search-6&pf_rd_r=Z4049X520KCMMB3CNRVG&pf_rd_r=Z4049X520KCMMB3CNRVG&pf_rd_t=101&pf_rd_p=83565b89-9e07-44df-a55a-95a45c9b49b5&pf_rd_p=83565b89-9e07-44df-a55a-95a45c9b49b5&pf_rd_i=509908031
https://www.amazon.co.uk/United-Colors-Benetton-2OZ1538Q0-Jacket/dp/B01IP45CAK/ref=sr_1_1?m=A3P5ROKL5A1OLE&s=clothing&ie=UTF8&qid=1503313547&sr=1-1&nodeID=1730756031&psd=1
我正在尝试从dataframe的第一个元素中提取下面的网页标题
url <- DataAmazon[1,]
Amazon_Normal_Text1 <- url %>%read_html() %>%html_nodes("title") %>% html_text()
我最初尝试使用for循环是
for (i in 1:nrow(DataAmazon))
{
url <- DataAmazon[i, ]
Amazon_Normal_Text1 <- url %>%read_html() %>%html_nodes("title") %>% html_text()
}
如何使用apply函数族循环遍历包含大约100行URL的csv文件,并将输出保存为另一个文件。
答案 0 :(得分:1)
您可以创建一个与最后一段代码完全相同的函数
amazonTitle <- function(x){
x %>%read_html() %>% html_nodes("title") %>% html_text()
}
然后使用apply
函数执行以下操作:
apply(DataAmazon, 1, amazonTitle)