楼主: 龙潭丰乐
1669 6

[学习分享] 利用sas抓取网店的评价数据 [推广有奖]

  • 14关注
  • 4粉丝

已卖:115份资源

讲师

50%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0.0600
学术水平
25 点
热心指数
29 点
信用等级
14 点
经验
8649 点
帖子
457
精华
0
在线时间
466 小时
注册时间
2011-11-20
最后登录
2022-1-6

楼主
龙潭丰乐 学生认证  发表于 2013-9-21 14:50:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
根据帖子,得知sas9.2抓取网页数据时,提示连接不到主机名。但是较低版本sas 9.1确可以,所以本文中的代码均在sas 9.1中测试过:
     filename liu url %nrquote(’http://item.taobao.com/item.htm? ... _1006:1102865101:6:����Ůt��:2ae68475680
      ece3b1c5018226096ff38&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;



二维码

扫码加我 拉你入群

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

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

关键词:delimiter filename compress Pattern varying 网店

沙发
420948492 发表于 2013-9-21 21:09:07
挺好的,%nrstr是关键字符屏蔽的问题
有人的地方就有江湖

藤椅
龙潭丰乐 学生认证  发表于 2013-9-21 23:37:50
420948492 发表于 2013-9-21 21:09
挺好的,%nrstr是关键字符屏蔽的问题
不太理解大神的意思。我知道%nrstr与%nrquote起作用的时间不同

板凳
爱萌 发表于 2013-9-22 22:23:44
%QUOTE and %NRQUOTE mask the same items as %STR and %NRSTR, respectively. However, %STR and %NRSTR mask constant text instead of a resolved value. And, %STR and %NRSTR work when a macro compiles, while %QUOTE and %NRQUOTE work when a macro executes.
最恨对我说谎或欺骗我的人

报纸
爱萌 发表于 2013-9-22 22:24:51
我想这个最能解释你的疑问,一个在编译后运行,一个在执行的时候就运行
最恨对我说谎或欺骗我的人

地板
龙潭丰乐 学生认证  发表于 2013-9-22 23:20:34
爱萌 发表于 2013-9-22 22:24
我想这个最能解释你的疑问,一个在编译后运行,一个在执行的时候就运行
感谢版主的解答,是不是利用%nrquote处理链接的话  只当做文本了,而利用%nrstr,还是做链接处理。

7
爱萌 发表于 2013-9-26 21:23:02
龙潭丰乐 发表于 2013-9-22 23:20
感谢版主的解答,是不是利用%nrquote处理链接的话  只当做文本了,而利用%nrstr,还是做链接处理。
%nstr当成文本,%nrquote当成链接,这是我的理解,可能有问题
最恨对我说谎或欺骗我的人

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

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