一个RCurl抓取美团网信息的实例
2015-05-31 20:04
357 查看
最近忽然想尝试用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")
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")
相关文章推荐
- java-用HttpURLConnection发送Http请求.
- VBScript 剪贴板抓取URL并在浏览器中打开
- 用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点
- asp获取URL参数的几种方法分析总结[原创]_应用技巧_脚本之家
- zend framework框架中url大小写问题解决方法
- url decode problem 解决方法
- php url地址栏传中文乱码解决方法集合
- 探讨:parse url解析URL,返回其组成部分
- C#实现自动识别URL网址的方法
- C#自定义针对URL地址的处理类实例
- ASP让url的中文显示为编码
- JS使用ajax方法获取指定url的head信息中指定字段值的方法
- 关于URL中的特殊符号使用介绍
- JS来动态的修改url实现对url的增删查改
- js url传值中文乱码之解决之道
- 通过url查找a元素并点击
- 简单实例处理url特殊符号&处理(2种方法)
- 获取上一页面的URL和本页的URL的方法
- js闭包实现按秒计数
- 用javascript替换URL中的参数值示例代码