|
樓主 |
發表於 11-7-17 11:04
|
顯示全部樓層
下載 選擇權每日交易行情資料。
輸入
c:\Python27\python.exe demo.py 201107 200112
就可以抓2011年7月往回至2001年12月的選擇權每日交易行情資料。
全部抓完後再自動砍掉小於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())); map(lambda h: os.remove(h[0]), itertools.ifilter(lambda g: os.path.getsize(g[0]) < 1000, [(u, open(u, 'wb').write(urllib2.urlopen('http://www.taifex.com.tw/chinese/3/3_2_3_b.asp?COMMODITY_ID=all&DATA_DATE=%d/%02d/01&DATA_DATE1=%d/%02d/%02d' % (r, s, r, s, t), timeout=60).read())) for r, s, t, u in [(z, n, calendar.monthrange(z, n)[1], 'option_%d%02d.csv' % (z, n)) for z, n in (lambda y1, m1, y2, m2: [(y1 - ((i + 12 - m1) // 12), m1 - i if i < m1 else 12 - ((i - m1) % 12)) for i in range((y1 - y2) * 12 + m1 - m2 + 1)])(*(itertools.chain.from_iterable([(ym.year, ym.month) for ym in (datetime.datetime.strptime(a, '%Y%m') for a in sys.argv[1:3])])))] if not os.path.exists(u)]))
複製代碼 |
|