Re: [問題] 要做個自動抓基金淨值功能
※ 引述《theater.bbs@ptt.cc (我在O2的年紀逐漸升高了)》之銘言:
> SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
> syswgetrc = D:\Program Files\GnuWin32/etc/wgetrc
> --2010-10-06 10:11:48-- http://fund.cnyes.com/Detail/historicalNav
> /B08,020.html
> 正在查找主機 fund.cnyes.com... awk: warning: escape sequence `\,'
> treated as pla
> in `,'
awk 的警告有提示可能有問題的地方。我回應中給的參數應該沒有出現「\,」
> awk: /個別基金:start/ {print gensub(/.*pe ..>([0-9]+\.[0-9][0-9])<\/td>.*/,
> "\\1\,"g")
你確定你有複製正確整個 awk 參數嗎?
gensub() 函式至少要給3個參數,第一個是要用來比對的正規表示式(/.../的部
分),第二個是要用來替換的字串,第三個則是如何替換的設定。各參數間要以
逗號分隔。細節請參考 awk 的文件。
> awk:
> ^ unterminated string
上面的訊息其實已經提示問題在哪了。
此外,你要不要考慮把指令寫成 .bat 或 .cmd,這樣要除錯或修改也比較容易,
不會愈改愈錯?
附帶一提,wget 的進度訊息輸出和 awk 的錯誤訊息因為都是輸出到標準錯誤
輸出裝置,所以如果有錯誤時,錯誤訊息會和 wget 的進度訊息混在一起。因為
wget 的部分如果沒有網頁存取的錯誤的話,進度訊息就不是很重要,其實可以
加上 -q 或者 -nv 要求 wget 完全關閉或者減少進度訊息輸出,可能會比較好
一點。
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: c-76-111-34-186.hsd1.ga.comcast.net
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章