|
我也提供一下我依上述教學網頁做的簡單測試用程式,不過要安裝httplib2
安裝httplib2的方法,在命令列下用 pip 安裝即可
程式腳本:
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- from urllib.parse import urlencode
- import httplib2
- url = 'http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/MI_INDEX.php'
- data = {'download': 'csv', 'qdate': '103/12/23', 'selectType': 'ALLBUT0999'}
- agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'
- httplib2.debuglevel = 1
- conn = httplib2.Http('.cache')
- headers = {'Content-type': 'application/x-www-form-urlencoded',
- 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
- 'User-Agent': agent}
- resp, content = conn.request(url, 'POST', urlencode(data), headers)
- print(resp.status, resp.reason)
- print(content.decode('cp950'))
複製代碼
因為是測試用的程式,要看執行過程中的訊息,所以用print而沒寫存檔
若要存檔只要把最後2行print改成像這樣即可:
- with open('your_file_name.csv', 'wb') as f:
- f.write(content)
複製代碼
headers中的 'Accept'可以不用設。我習慣會改一下User-Agent,假裝一下是一般瀏覽器,原因是服務器會記錄,不改的話,精明的網路管理員可從中知道是程式來抓東西的,這種數量多了,他也許會做些阻擋的措施而造成以後下載較不方便。買賣日報表的圖形驗證就是這類例子。 |
評分
-
查看全部評分
|