楼主: shenzhenjx
3064 7

[R] R抓取多页的团购数据 [推广有奖]

  • 1关注
  • 0粉丝

已卖:424份资源

硕士生

20%

还不是VIP/贵宾

-

威望
0
论坛币
748 个
通用积分
0.1304
学术水平
16 点
热心指数
16 点
信用等级
16 点
经验
613 点
帖子
22
精华
0
在线时间
249 小时
注册时间
2014-9-3
最后登录
2023-10-11

楼主
shenzhenjx 发表于 2015-3-4 12:24:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
这是自己修改的抓取多页的团购信息程序,使用R语言完成的。
欢迎大家讨论。

本帖隐藏的内容

  1. ########################################################
  2. # Contents:
  3. # 1. 读取链接
  4. # 2. 构造报头
  5. # 3. 读取网页资源
  6. # 4. 获取美食的页面内容
  7. # 5. 构建一个urllist
  8. # 6. 循环读取url,并解析页面内容
  9. # 7. 输出结果到文件
  10. #########################################################

  11. # 0. 初始化
  12. setwd('E:/R/RCode/RCurl')
  13. rm(list=ls())

  14. # 1. 读取链接
  15. library(RCurl)
  16. url <- "http://hefei.lashou.com/cate/meishi"
  17. url.exists(url)

  18. # 2. 构造报头
  19. myheader <- c("User-Agent"="Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) ",
  20.               "Accept"="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
  21.               "Accept-Language"="en-us",
  22.               "Connection"="keep-alive",
  23.               "Accept-Charset"="GB2312,utf-8;q=0.7,*;q=0.7")

  24. # 3. 读取网页资源
  25. temp <- getURL(url,httpheader=myheader,encoding="UTF-8")

  26. # 4. 获取美食的页面内容,包括名称、内容、团购价、原价
  27. library(XML)
  28. pageContent <-  function(page){
  29.   doc <- htmlParse(page)
  30.   meishi_name <- sapply(getNodeSet(doc, '//div[@class="goods "]//a[@class="goods-name"]//text()'), xmlValue)
  31.   meishi_text <- sapply(getNodeSet(doc, '//div[@class="goods "]//a[@class="goods-text"]//text()'), xmlValue)
  32.   Count_price <- sapply(getNodeSet(doc, '//div[@class="goods "]//span[@class="price"]'), xmlValue)
  33.   org_price <- sapply(getNodeSet(doc, '//div[@class="goods "]//span[@class="money"]//del//text()'), xmlValue)
  34.   
  35.   result <- data.frame(meishi_name, meishi_text, Count_price, org_price)
  36. }

  37. # 5. 构建一个urllist(读取翻页数据)
  38. urllist <- ""
  39. page_num <- 1:20
  40. urllist[page_num] <- paste("http://hefei.lashou.com/cate/meishi/page",page_num,sep="")

  41. # 6. 循环读取url,并解析页面内容
  42. Page_Results <- NULL
  43. for(url in urllist){
  44.    page_url <- getURL(url, httpheader=myheader, encoding="utf-8")
  45.    Page_Results <- pageContent(page_url)
  46.    Sys.sleep(2)
  47. }

  48. # 7. 输出结果到文件
  49. write.table(Page_Results,"meishi.txt")
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:contents Content Library Rcurl Rcode 团购 团购信息 抓取

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
niuniuyiwan + 60 + 60 + 5 + 5 + 5 精彩帖子

总评分: 经验 + 60  论坛币 + 60  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

本帖被以下文库推荐

沙发
fantuanxiaot 发表于 2015-3-5 14:06:32

藤椅
daishen 发表于 2015-3-6 12:56:49
look at.

板凳
wennyjerry 发表于 2015-3-16 09:29:19
看看,很好的资料的

报纸
yaojunyu 发表于 2015-3-29 21:43:51
这样学习下

地板
xddlovejiao1314 学生认证  发表于 2015-3-30 10:13:28 来自手机
shenzhenjx 发表于 2015-3-4 12:24
这是自己修改的抓取多页的团购信息程序,使用R语言完成的。
欢迎大家讨论。

欢迎楼主多发此类好帖,这些分享!

7
bingoxing 在职认证  发表于 2015-5-14 14:47:09
学习一下

8
峰岛咖啡 发表于 2016-3-9 23:14:13
你好!现在我复制你的代码,去运行,没有数据出来的?求指导,我是菜鸟!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-25 18:59