楼主: Mr.Tolerance
7153 19

[实际应用] R怎么爬取本来生活的数据啊? [推广有奖]

11
distiner 发表于 2014-10-25 10:11:51
同问,类似于javascript之类的搞不懂了

12
jiabiao1602 发表于 2014-11-4 19:19:07
Mr.Tolerance 发表于 2014-10-17 17:32
我是这么抓的啊   但是第二页的数据就抓不到了  同一个URL......
同一个URL 第二页数据  感觉好乱,我这边是直接修改URL的显示条数 可以全数据一起抓

13
马甲1号 发表于 2014-11-4 20:29:28
具体哪个页面?
其实抓多了就知道异步网页某些情况下反而好抓,数据都是json,比直接解析html方便

14
xucaifeng66 发表于 2014-11-6 10:09:47
用XML和RCurl包进行抓取,但是连续页面的话,建议换种思路或换一种语言,似乎R对这方面不擅长
已有 1 人评分经验 收起 理由
李会超 + 36 热心帮助其他会员

总评分: 经验 + 36   查看全部评分

15
Mr.Tolerance 发表于 2014-11-12 13:21:16
jiabiao1602 发表于 2014-11-4 19:19
同一个URL 第二页数据  感觉好乱,我这边是直接修改URL的显示条数 可以全数据一起抓
请问怎么修改啊?

16
Mr.Tolerance 发表于 2014-11-12 13:22:34
xucaifeng66 发表于 2014-11-6 10:09
用XML和RCurl包进行抓取,但是连续页面的话,建议换种思路或换一种语言,似乎R对这方面不擅长
恩  连续页面可以用循环  但是我抓的数据不多  而且非专业coding  所以Java、Python什么的不会

17
Mr.Tolerance 发表于 2014-11-12 13:23:43
马甲1号 发表于 2014-11-4 20:29
具体哪个页面?
其实抓多了就知道异步网页某些情况下反而好抓,数据都是json,比直接解析html方便
就是一个品类点开后   如果有10页商品  10页的URL都是一样的  

18
马甲1号 发表于 2014-11-14 09:19:58
Mr.Tolerance 发表于 2014-11-12 13:23
就是一个品类点开后   如果有10页商品  10页的URL都是一样的
URL可以通过浏览器F12看到, 里面是有page参数的, 比如:
http://www.benlai.com/category/G ... =52&_=1415927826284
返回结果是json. 不过直接访问貌似不行, 会提示非法操作, 可能要考虑http header以及cookie之类的.

19
马甲1号 发表于 2014-11-14 10:12:18
Mr.Tolerance 发表于 2014-11-12 13:23
就是一个品类点开后   如果有10页商品  10页的URL都是一样的
搞定了, 经反复试验, 貌似需要在httpheader加上X-Requested-with参数就行了.
  1. >jsondata=getURL('http://www.benlai.com/category/GetCategory?page=6&sort=0&c1SysNo=52',.opts=list(httpheader='X-Requested-With: XMLHttpRequest'))
  2. >substr(jsondata,1,500)
  3. [1] "{\"markIndex\":null,\"Content\":[{\"ProductID\":\"0804011441C\",\"ProductLink\":\"/item-39203.html\",\"ProductName\":\"福味珍旗鱼松300g-----台湾进口 富含天然鱼油(DHA)\",\"BasicPrice\":\"¥66.00\",\"CurrentPrice\":\"¥49.80\",\"Invotory\":0,\"tag1\":\"\",\"tag2\":\"进口\",\"tag3\":\"http://image1.benlailife.com/Content/images/tag/43.gif?v=8.2.49\",\"BriefNamePromotionWord\":\"福味珍旗鱼松300g-----台湾进口<font   class=\\\"cleb6100 ml5\\\">富含天然鱼油(DHA)</font>\",\"ProductBigPSrc\":\"http://image1.benlailife.com/ProductImage/0804011441C.jpg   onerror=this.onerror=null;this.src="
复制代码
接下来可以用rjson/XML这类工具解析.
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Mr.Tolerance + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

20
Mr.Tolerance 发表于 2014-11-17 14:18:35
马甲1号 发表于 2014-11-14 10:12
搞定了, 经反复试验, 貌似需要在httpheader加上X-Requested-with参数就行了.接下来可以用rjson/XML这类工 ...
谢谢    我当时就卡在非法操作上

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 12:20