一个RCurl抓取美团网信息的实例

来源:互联网 发布:留学读博士费用知乎 编辑:程序博客网 时间:2024/05/02 08:23

最近忽然想尝试用R做一个简单的网络爬虫,看了不少资料,查了不少技术牛人的代码,总算成功抓取了一份美团的团购信息,代码寄上,请行内人士多多指教。


library(RCurl)

library(XML)

urllist=0

 page=1:5

urllist[page]= paste0("http://t.dianping.com/list/guangzhou-category_0?pageIndex=",1:5)         #随便选取广州城市的团购信息,这里象征性的抓取5页

美食<-c()   #构建相应的存储向量并初始化

团购信息<-c()

优惠价<-c()

原价<-c()

销售量<-c()

for(url in urllist)

{

temp=getURL(url,httpheader=myheader,encoding="UTF-8")

 doc<-htmlTreeParse(temp, useInternal =TRUE)

food<-sapply(getNodeSet(doc,'//div[@class="tg-floor-item-wrap"]/a[@class="tg-floor-title"]/h3'),xmlValue)   #抓取美食

美食<-c(美食,food)

tuangou<-sapply(getNodeSet(doc,'//div[@class="tg-floor-item-wrap"]/a[@class="tg-floor-title"]/h4'),xmlValue)  #抓取团购信息

团购信息<-c(团购信息,tuangou)

 youhui<-sapply(getNodeSet(doc,'//div/span[@class="tg-floor-price"]/span[@class="tg-floor-price-new"]'),xmlValue)  #抓取优惠价

优惠价<-c(优惠价,youhui)

oldprice<-sapply(getNodeSet(doc,'//div/span[@class="tg-floor-price"]/span[@class="tg-floor-price-old"]'),xmlValue)   #抓取原价

原价<-c(原价,oldprice)

quantity<-sapply(getNodeSet(doc,'//div/span[@class="tg-floor-sold"]'), xmlValue)  #抓取销售量

销售量<-c(销售量,quantity)

}

广州美食<-data.frame(美食,团购信息,优惠价,原价,销售量)        # 合成一个数据框

write.csv(广州美食,file="广州美食.csv")         



0 0
原创粉丝点击