五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆91在线播放

  • <center id="8gusu"></center><rt id="8gusu"></rt>
    <menu id="8gusu"><small id="8gusu"></small></menu>
  • <dd id="8gusu"><s id="8gusu"></s></dd>
    樓主: Still..
    9691 18

    [程序分享] 利用SAS抓取網(wǎng)頁(yè)數(shù)據(jù)總結(jié)及案例 [推廣有獎(jiǎng)]

    • 8關(guān)注
    • 粉絲

    學(xué)術(shù)權(quán)威

    52%

    還不是VIP/貴賓

    -

    威望
    5 級(jí)
    論壇幣
    79420 個(gè)
    通用積分
    26694.3016
    學(xué)術(shù)水平
    603 點(diǎn)
    熱心指數(shù)
    378 點(diǎn)
    信用等級(jí)
    577 點(diǎn)
    經(jīng)驗(yàn)
    167349 點(diǎn)
    帖子
    1929
    精華
    56
    在線時(shí)間
    2364 小時(shí)
    注冊(cè)時(shí)間
    2011-8-30
    最后登錄
    2024-9-15

    樓主
    Still.. 企業(yè)認(rèn)證  發(fā)表于 2014-2-24 16:31:48 |只看作者 |壇友微信交流群|倒序 |AI寫論文
    相似文件 換一批

    +2 論壇幣
    k人 參與回答

    經(jīng)管之家送您一份

    應(yīng)屆畢業(yè)生專屬福利!

    求職就業(yè)群
    趙安豆老師微信:zhaoandou666

    經(jīng)管之家聯(lián)合CDA

    送您一個(gè)全額獎(jiǎng)學(xué)金名額~ !

    感謝您參與論壇問(wèn)題回答

    經(jīng)管之家送您兩個(gè)論壇幣!

    +2 論壇幣

    有時(shí)我們常常需要保存?zhèn)浞菽承┚W(wǎng)上的數(shù)據(jù),如銀行利率,股票行情,抑或統(tǒng)計(jì)局、各種金融機(jī)構(gòu)或其他類型網(wǎng)站的數(shù)據(jù)。 有時(shí)這些網(wǎng)站會(huì)提供歷史數(shù)據(jù),有的則不會(huì)。但是我們可以通過(guò)SAS每天跑下程序獲取累積歷史數(shù)據(jù)作為后來(lái)的分析之用,F(xiàn)在我拿獲取 http://www.shibor.org/ 主頁(yè),上海銀行間同業(yè)拆放利率,作為案例進(jìn)行演示。

    以下為主頁(yè)上我們想要的數(shù)據(jù)

    當(dāng)我們打開(kāi)此網(wǎng)頁(yè),并進(jìn)到網(wǎng)頁(yè)源碼中時(shí),我們會(huì)驚訝的發(fā)現(xiàn)。什么情況,在主頁(yè)上看到的數(shù)據(jù)在源碼里找不到,難道使用了別的技術(shù)。我們大概瀏覽一下源碼所表示的

    網(wǎng)頁(yè)布局。

    按網(wǎng)頁(yè)布局來(lái)說(shuō),一大坨文字的后面就應(yīng)該放最新Shibor數(shù)據(jù)的源碼,而他放了一句。

    <iframe scrolling="no" src ="/shibor/web/html/shibor.html" width="377" height="473" frameborder="0" name="shibordata"></iframe>

    這是html內(nèi)聯(lián)框架結(jié)構(gòu),就是說(shuō)他把數(shù)據(jù)放另一個(gè)網(wǎng)頁(yè)上了,然后把這個(gè)網(wǎng)頁(yè)嵌在主頁(yè)里。好,那我們就打開(kāi)此網(wǎng)頁(yè)

    http://www.shibor.org/shibor/web/html/shibor.html并查看源碼,發(fā)現(xiàn)數(shù)據(jù)就存在此網(wǎng)頁(yè)中,那我們就開(kāi)始用SAS抓它一下。

    高潮

    首先介紹下Filename,利用它加上infile語(yǔ)句就可以把網(wǎng)頁(yè)當(dāng)成文件導(dǎo)入SAS數(shù)據(jù)集。 The FILENAME Statement (URL Access Method) in Base SAS, enables users to access the source code from a web site and read it into a data set. The syntax for this statement is:

    FILENAME fileref URL 'external-file'<url-options>;
    • 數(shù)據(jù)導(dǎo)入

    把Shibor數(shù)據(jù)網(wǎng)頁(yè)導(dǎo)入SAS數(shù)據(jù)集。我們知道網(wǎng)頁(yè)數(shù)據(jù)是標(biāo)記語(yǔ)言,服從一定規(guī)范,所有屬性設(shè)置都被<>包含。所以我們利用dlm=">"把它分隔導(dǎo)入到一個(gè)變量中, 因?yàn)閿?shù)據(jù)太亂,我們沒(méi)法分清使之導(dǎo)入到不同變量。

    FILENAME SOURCE URL "%STR(http://www.shibor.org/shibor/web/html/shibor.html)" DEBUG;DATA Zhaocl01;    FORMAT WEBPAGE $1000.;    INFILE SOURCE LRECL=32767 DELIMITER=">";    INPUT WEBPAGE $ @@;RUN;
    • 數(shù)據(jù)清洗

    因?yàn)槲覀兝昧薲lm=">"進(jìn)行了分隔,所以我們清楚收集到的觀測(cè)值只要以<開(kāi)頭就說(shuō)明這條觀測(cè)只有設(shè)置語(yǔ)言,沒(méi)有我們想要的數(shù)據(jù)。而我們真正要要的數(shù)據(jù)肯 定都在<標(biāo)識(shí)符的前面。因?yàn)樵诰W(wǎng)頁(yè)源碼中會(huì)用 &nbsp代表空格,&amp代表連字符,所以把他們進(jìn)行替換。

    DATA Zhaocl02;    SET Zhaocl01;    WHERE WEBPAGE LIKE "_%<%";     /**刪除以<開(kāi)頭的觀測(cè)**/    TEXT=SUBSTRN(WEBPAGE,1,FIND(WEBPAGE,"<")-1);   /**提取<前面的字符串**/    TEXT=TRANWRD(TEXT,"%NRSTR( )"," ");    TEXT=TRANWRD(TEXT,"%NRSTR(&)","&");    IF ANYALPHA(TEXT) + ANYDIGIT(TEXT) LT 1 THEN DELETE;  /**保留有效觀測(cè)**/    KEEP TEXT;RUN;結(jié)局
    • 結(jié)果展現(xiàn)

    拿到了清理后的數(shù)據(jù)集,打開(kāi)看下已經(jīng)很清楚了。我們只要再做下最后簡(jiǎn)單的加工就好了。注意,由于網(wǎng)頁(yè)布局的變動(dòng)這段程序也可能要隨之稍加修改。

    data Zhaocl03;      set Zhaocl02;    set Zhaocl02(firstobs=2 rename=(text=next1));      set Zhaocl02(firstobs=3 rename=(text=next2));      if text in ("O/N","1W","2W","1M","3M","6M","9M","1Y");      label text='期限'                      next1='Shibor(%)'                 next2='漲跌(BP)';   run;  proc print label;run;

    其他

    正則表達(dá)式

    在處理網(wǎng)頁(yè)數(shù)據(jù)時(shí),有一個(gè)利器就是正則表達(dá)式,威力巨大。比如:

    prxchange("s/<.+?>//",-1,WEBPAGE );

    就可以去除所有<>包含的內(nèi)容。但是一定要在對(duì)自己獲取數(shù)據(jù)了解十分透徹的情況下使用,以防遺漏重要信息。

    (轉(zhuǎn))


    二維碼

    掃碼加我 拉你入群

    請(qǐng)注明:姓名-公司-職位

    以便審核進(jìn)群資格,未注明則拒絕

    關(guān)鍵詞:抓取網(wǎng)頁(yè)數(shù)據(jù) statement delimiter filename Statemen 網(wǎng)頁(yè)

    已有 1 人評(píng)分學(xué)術(shù)水平 熱心指數(shù) 收起 理由
    6皮皮9 + 1 + 1 精彩帖子

    總評(píng)分: 學(xué)術(shù)水平 + 1  熱心指數(shù) + 1   查看全部評(píng)分

    本帖被以下文庫(kù)推薦

    加入數(shù)據(jù)科學(xué)交流圈,獲取最新行業(yè)資訊、研究報(bào)告、免費(fèi)學(xué)習(xí)資源!咨詢微信:CDAdata01
    沙發(fā)
    牽你↗左手 發(fā)表于 2014-2-25 08:29:50 |只看作者 |壇友微信交流群
    學(xué)習(xí)學(xué)習(xí)
    藤椅
    congmu 發(fā)表于 2014-5-3 15:53:56 |只看作者 |壇友微信交流群
    mark,謝謝分享
    板凳
    ╰不滅信念 學(xué)生認(rèn)證  發(fā)表于 2014-5-4 00:38:19 |只看作者 |壇友微信交流群
    能用STATA抓嗎 ?
    where there is a will there is a way
    報(bào)紙
    jeozu 發(fā)表于 2014-5-4 09:02:09 |只看作者 |壇友微信交流群
    STATA能抓取,不過(guò)處理起來(lái)比較麻煩。
    我倒是推薦使用perl語(yǔ)言,找個(gè)別人寫好的代碼稍微修改一下就行了。我原來(lái)學(xué)perl的理由也就是抓取數(shù)據(jù)。
    地板
    jeozu 發(fā)表于 2014-5-4 09:04:04 |只看作者 |壇友微信交流群
    ╰不滅信念 發(fā)表于 2014-5-4 00:38
    能用STATA抓嗎 ?
    對(duì)了,干嘛拿著強(qiáng)大的mathematica不用要去用STATA抓取???
    7
    ╰不滅信念 學(xué)生認(rèn)證  發(fā)表于 2014-5-4 10:13:51 |只看作者 |壇友微信交流群
    jeozu 發(fā)表于 2014-5-4 09:04
    對(duì)了,干嘛拿著強(qiáng)大的mathematica不用要去用STATA抓???
    我只知道m(xù)athematica能做出很炫的圖。。
    已有 1 人評(píng)分學(xué)術(shù)水平 熱心指數(shù) 信用等級(jí) 收起 理由
    經(jīng)濟(jì)大菜鳥 + 1 + 1 + 1 精彩帖子

    總評(píng)分: 學(xué)術(shù)水平 + 1  熱心指數(shù) + 1  信用等級(jí) + 1   查看全部評(píng)分

    where there is a will there is a way
    8
    baninuk 發(fā)表于 2014-6-6 23:35:26 來(lái)自手機(jī) |只看作者 |壇友微信交流群
    Still.. 發(fā)表于 2014-2-24 16:31
    有時(shí)我們常常需要保存?zhèn)浞菽承┚W(wǎng)上的數(shù)據(jù),如銀行利率,股票行情,抑或統(tǒng)計(jì)局、各種金融機(jī)構(gòu)或其他類型網(wǎng)站 ...
    用其他的也能做到,例如Python,R……跨平臺(tái)也好……
    9
    zorro999 發(fā)表于 2014-6-10 10:25:36 |只看作者 |壇友微信交流群
    MARK!Thanks!這個(gè)很詳細(xì)
    10
    woshixz 發(fā)表于 2014-6-30 13:18:53 |只看作者 |壇友微信交流群
    Thanks for sharing~

    本版微信群
    加好友,備注cda
    拉您進(jìn)交流群

    京ICP備16021002-2號(hào) 京B2-20170662號(hào) 京公網(wǎng)安備 11010802022788號(hào) 論壇法律顧問(wèn):王進(jìn)律師 知識(shí)產(chǎn)權(quán)保護(hù)聲明   免責(zé)及隱私聲明

    GMT+8, 2024-12-23 22:02