r语言 - 网页抓取多个网站



>我访问过的亚马逊网站上的数据存储在csv中,并作为data.frame读入R到对象"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

我正在尝试从数据帧的第一个元素中提取

如下网页标题
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()
}

如何使用一系列应用函数来循环包含大约 100 行 URL 的 csv 文件并将输出另存为另一个文件。

您可以创建一个函数,该函数在最后一个代码块上执行的操作

amazonTitle <- function(x){
x %>%read_html() %>% html_nodes("title") %>% html_text()
}

然后使用apply函数执行以下操作:

apply(DataAmazon, 1, amazonTitle)

最新更新