keeptry wrote:
269樓的方式
要先取得2個參數 VIEWSTATE+EVENTVALIDATION
再啟動網頁上的java程式(假按鈕)
所以也可以運用在這邊下載 .XLS 檔案了?...(恕刪)
不好意思,這邊訂正一下269樓的範例不能用在Goodinfo!這個網站
台灣股市資訊網,那2個按鍵是“真按鈕”
因為在網頁原始碼中是用input type='button'
按下後再連結到java
onclick="export2xls(divDetail[removed]... ...
產生 blob 格式這種特殊的url,時效只有一次,每次url都不一樣
但是在Goodinfo!這個網站,沒必要花心思去取得blob url
因為產生的blob url 是本地端的,資料其實不在網路上
資料是在電腦記憶體,沒有本地端的資料也不會產生blob url
所以直接抓網頁原始碼的資料就好,程式比較簡單
這裡先簡單解釋一下 get post 的差別
HTTP Get 通常用在一般網址(真實網址)的使用
在程式碼中只要網址+send,網站就會回傳資料
例如:(yahoo中鋼股價)
https://tw.stock.yahoo.com/q/q?s=2002
HTTP POST 通常用在要跟網站拿資料
像是登入、或是像股市資料,要先選擇日期、報表、種類
特別是在輸入資料、選擇日期、報表、種類時,網址不會有任何的改變
或是資料都顯示在網頁上了,但按下檢視原始碼時,確看不到任何資料的網站
所以在程式碼中,需要網址 + send + 變數,才能取得資料
不過,要用get post 不一定,要看網站設計,有的首頁是get,第2頁又變成post
要看是什麼就要用f12開發者工具(或其它像是fiddler等第3方工具)去檢查
keeptry wrote:
149樓的方式去是抓各種列表,這個可以抓得起來沒問題
但如果抓基本分析的現金流量...(恕刪)
您的2個副程式我看過了,除了排版之外,沒什麼問題,都可以正常下載
149樓只是報表不同、變數不同、網址不同,但下載方式是一樣的
有空我再做個範例