Web scraping SAS网络抓取

Web scraping SAS网络抓取,web-scraping,sas,Web Scraping,Sas,我想从[HKAB][1]的网站获取最新的香港银行同业拆借利率 以下是我尝试过的代码:While在filename语句中给出错误 data parm; format yyyymmdd $8.; yyyymmdd = put(date(), yymmddn8.); yyyy = put(substr(yyyymmdd, 1, 4), $4.); mm = put(substr(yyyymmdd, 5, 2), $2.); dd = put(substr(y

我想从[HKAB][1]的网站获取最新的香港银行同业拆借利率

以下是我尝试过的代码:While在filename语句中给出错误

data parm;
    format yyyymmdd $8.;

    yyyymmdd = put(date(), yymmddn8.);

    yyyy = put(substr(yyyymmdd, 1, 4), $4.);
    mm = put(substr(yyyymmdd, 5, 2), $2.);
    dd = put(substr(yyyymmdd, 7, 2), $2.);
    *url = 'http://www.hkab.org.hk/hibor/listRates.do?lang=en&Submit=Search&year='||yyyy||'&month='||mm||'&day='||dd;;
    format url $1024.;
    url = 'http://www.hkab.org.hk/hibor/listRates.do?lang=en&Submit=Search&year=' || yyyy || '&month=' || mm || '&day=' || dd;
    url2 = 'curl ' || url;
    call symput('url',url);
    call symput('url',url);
    call symput('url',url);
    call symput('url',url);
    call symput('url2',url2);

    put _all_;
run;

%put &url2.;
filename hiborpage url &url.;


  [1]: http://www.hkab.org.hk/hibor/listRates.do?lang=en&Submit=Search&year=2015&month=1&day=26

您的
fileref
超过8个字符。将
hiborpage
更改为较短的格式,如
hibor
。此外,如Reeza所述,将
&url
放在双引号中。宏变量不能用单引号解析。这将修复错误

url中还有符号。通常,您只需将这样的字符串放在单引号中,但由于它位于宏变量中,因此需要双引号。问题是SAS试图解决它认为url中的宏变量,并在失败时向您发出警告。要避免这些警告,请使用宏函数
%nrstr()
屏蔽宏变量中的符号,例如:

%let url3 = %nrstr(&url);
filename hibor url "&url3.";

有效的url需要引号吗?为什么会有多个呼叫提示(“url”)?看看这个问题,我想你会在那里找到你想要的。。。