看板Programming
标 题Re: [问题] 要做个自动抓基金净值功能
发信站SayYA 资讯站 (Wed Oct 6 11:30:31 2010)
转信站ptt!news.ntu!ctu-gate!ctu-peer!news.nctu!News.Math.NCTU!SayYa
※ 引述《[email protected] (我在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