2017-08-21 262 views
0

我已经在亚马逊网站上的数据存储访问过的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 

我想提取网页标题从数据帧的第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() 
} 

如何我可以ü se应用函数系列循环遍历包含大约100行URL的csv文件并将输出保存为另一个文件。

+0

刮亚马逊是侵犯他们的T&C的/服务类型。 – hrbrmstr

回答

1

您可以创建一个不正是代码的最后块

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

然后用apply功能做以下的功能:

apply(DataAmazon, 1, amazonTitle)