|
下載 期貨每日交易行情。
輸入
c:\Python27\python.exe demo.py 201107 199807
就可以抓2011年7月往回至1998年7月的期貨每日交易行情。
全部抓完後再自動砍掉小於1000 bytes的.csv檔。
Win7 + Python 2.7.2測試通過。
- import calendar, datetime, itertools, os, os.path, sys, urllib2
- urllib2.install_opener(urllib2.build_opener(urllib2.HTTPCookieProcessor()))
- ym12 = [(ym.year, ym.month) for ym in (datetime.datetime.strptime(a, '%Y%m') for a in sys.argv[1:3])]
- map(lambda h: os.remove(h[0]), itertools.ifilter(lambda g: os.path.getsize(g[0]) < 1000, [('future_%d%02d.csv' % (r, s), open('future_%d%02d.csv' % (r, s), 'wb').write(urllib2.urlopen('http://www.taifex.com.tw/chinese/3/3_1_2dl.asp?COMMODITY_ID=all&DATA_DATE=%d/%02d/01&DATA_DATE1=%d/%02d/%02d' % (r, s, r, s, t), timeout=10).read())) for r, s, t in [(z, n, calendar.monthrange(z, n)[1]) for z, n in [(ym12[0][0] - ((i + 12 - ym12[0][1]) // 12), ym12[0][1] - i if i < ym12[0][1] else 12 - ((i - ym12[0][1]) % 12)) for i in range((ym12[0][0] - ym12[1][0]) * 12 + ym12[0][1] - ym12[1][1] + 1)]] if not os.path.exists('future_%d%02d.csv' % (r, s))]))
複製代碼
future_19980721_20110715.rar
(2.3 MB, 下載次數: 376)
|
|