SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 2105|回复: 0
打印 上一主题 下一主题

利用SAS抓取网店的评价数据

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
跳转到指定楼层
楼主
发表于 2014-3-13 07:40:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
        sas9.2抓取网页数据时,提示连接不到主机名。但是较低版本sas 9.1确可以,所以本文中的代码均在sas 9.1中测试过:
        filename liu url %nrquote('http://item.taobao.com/item.htm?id=16212898717&ali_refid=a3_420432_1006:1102865101:6:%B3%A4%D0%E4%C5%AEt%D0%F4:2ae68475680ece3b1c5018226096ff38&ali_trackid=1_2ae68475680ece3b1c5018226096ff38&spm=a230r.1.14.1.uQXfpl');
        此处利用filename抓取网页html代码,但是网页连接中含有%、&这样的宏触发器,所以利用
        %nrquote将其隐藏。当然也可以利用%nrstr。注意此处是单引号,不能是双引号。若利用双引号的话,必须是%nrstr。
        data aa;
        infile liu length=len lrecl=4000 DELIMITER=">";
        input record $varying4000.len ;
        run;
        因为html文件均是以’>‘结尾,所以利用’>‘作为分隔符。
        data cc;
        set aa;
        if _n_=1 then pattern=prxparse("/\d{1,2}\.(\d{2})%/");
        retain pattern;
        call prxsubstr(pattern,record,start,length);
        if start gt 0 then do;
        record=substr(record,start,length);
        record=compress(record," ");
        output;
        end;
        keep record;
        run;
        由于淘宝网店中的评价数据均是一个百分数,所以定义整数部分为一位或者两位,小数部分为两位的正则表达式。
        从而抓取了网店中的与同行相比的三个指标数据------描述相符、服务态度、发货速度以及好评率指标数据。

转自原帖:http://blog.sina.com.cn/s/blog_8fc24da10101nnx7.html


分享到:  微信微信
收藏收藏2
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2024-11-22 13:37 , Processed in 0.108846 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表