> install.packages("rvest")
> # 加载包
> library(rvest)
载入需要的程辑包:xml2
> #保存搜索链接对象到gurl
> gurl
> #抓取数据对象保存到SCdata中
> #%>%是管道操作符
> #意思是把左边的操作结果作为参数传递给右边的命令
> #div.product-iWrap是CSS选择器的语法,即div class="div.product-iWrap"
> SCdata%
+ read_html(encoding="GBK")%>%#读取gurl的链接,并指定编码为gbk.
+ html_nodes("div.product-iWrap")#筛选出所有包含在...
块的内容
>
> #从对象SCdata继续筛选,获取卖家名称等数据
> #html_attr("data-nick")是从html_nodes()筛选出的标签中,查找data-nick属性的值。
> #gsub()是字符串查找替换的函数,pattern是指定用来查找的正则表达式。
> #html_nodes("p.productTitle>a[title]"),">"指定的筛选条件的标签
> #html_text()只抓取内容标签>中的内容部分
>
> #抓取卖家昵称和ID
> sellerNick% html_nodes("p.productStatus>span[class]") %>%
+ html_attr("data-nick")
> sellerID% html_nodes("p.productStatus>span[data-atp]") %>%
+ html_attr("data-atp") %>%
+ gsub(pattern="^.*,",replacement="")
>
> #抓取宝贝名称等数据
> itemTitle% html_nodes("productTitle>a[title]") %>%
+ html_attr("title")#暂时未能输出结果,先放下,后面再请教作者并尝试。
> itemID%html_nodes("p.productStatus>span[class]") %>%
+ html_attr("data-item")
> price% html_nodes("em[title]") %>%
+ html_attr("title") %>%
+ as.numeric
> volume% html_nodes("span>em") %>%
+ html_text
>
>
> #最后保存成数据框对象并存盘备用,以及写入csv文件
> options(stringsAsFactors = FALSE) #设置字符串不自动识别为因子
>
> itemData
+ sellerID=sellerID,
+ itemID=itemID,
+ price=price,
+ volume=volume)
> save(itemData,file = "E:/R语言笔记/R语言第七章/itemData.rData")
> write.csv(itemData,file = "E:/R语言笔记/R语言第七章/itemData.csv")