問題文: Web からデータを取得し、SAS Program を使用して SAS データセットに入れる必要があります。
うまくいきました: SAS でターゲット Web ページのコンテンツを取得できました。
機能していません (ヘルプが必要): ページのソース コンテンツ (以下に表示) を SAS で処理できません。ソースコンテンツで「カテゴリ」を見つける必要があり、見つかった場合は、その行のすべての値 (11 月、10 月、9 月、8 月、7 月) を取得します。同様に、ソース コンテンツで「Conference Board」を検索し、見つかった場合はその行のすべての値 (96.1,101.4,101.3,86.3,91.7) を取得する必要があります。ソース コンテンツの構造は常に同じであることが期待されます。期待される出力はpng画像として添付されています。SASプログラムを使用してこのシナリオに取り組む方法を誰かが知っていて、私を助けてくれれば、それは素晴らしい学習と助けになるでしょう.
私はこのようなことを試しました:
filename output "/desktop/Response.txt";
proc http
url="http://hosting.briefing.com/cschwab/Calendars/EconomicReleases/conf.htm"
method="get"
proxyhost="&proxy_host."
proxyport=&port
out=output;
run;
DATA CHECK;
LENGTH CATEGORY $ 5;
RETAIN CATEGORY;
INFILE output LENGTH = recLen LRECL = 32767;
INPUT line $VARYING32767. recLen;
IF FIND(line,'Category') GT 0 THEN DO;
CATEGORY = SCAN(STRIP(line),2,'<>');
OUTPUT;
END;
RUN;
Web ページのソース コンテンツ:
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr valign="top" align="right" class="sectionColor">
<td class="rH" align="left">Category</td>
<td class="rH">NOV</td>
<td class="rH">OCT</td>
<td class="rH">SEP</td>
<td class="rH">AUG</td>
<td class="rH">JUL</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rD" align="left">Conference Board</td>
<td class="rD">96.1</td>
<td class="rD">101.4</td>
<td class="rD">101.3</td>
<td class="rD">86.3</td>
<td class="rD">91.7</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rL" align="left"> Expectations</td>
<td class="rL">89.5</td>
<td class="rL">98.2</td>
<td class="rL">102.9</td>
<td class="rL">86.6</td>
<td class="rL">88.9</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rD" align="left"> Present Situation</td>
<td class="rD">105.9</td>
<td class="rD">106.2</td>
<td class="rD">98.9</td>
<td class="rD">85.8</td>
<td class="rD">95.9</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rL" align="left">Employment ('plentiful' less 'hard to get')</td>
<td class="rL">7.2</td>
<td class="rL">7.1</td>
<td class="rL">3.3</td>
<td class="rL">-2.2</td>
<td class="rL">2.2</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rD" align="left">1 yr inflation expectations</td>
<td class="rD">5.7%</td>
<td class="rD">5.6%</td>
<td class="rD">5.7%</td>
<td class="rD">5.8%</td>
<td class="rD">6.1%</td>
</tr>
</table>
SAS データセットの出力は次のようになります。