Board logo

標題: [實用軟件] 請推介 freeware batch downloader [打印本頁]

作者: 吉夾萬    時間: 2019-5-3 23:08     標題: 請推介 freeware batch downloader

如題,其實用途99.99%  係用來 set batch download 每月港交所的交易資料,
慢些少唔緊要的,每月做一次,以前用 fleshget , 但後來因為轉左 https 開頭用唔到,

可否推介,裝過 IDM , 想比錢買但個價實在難以接受!
有冇其他代替品?以上近乎係唯一用途,所以不需其他功能,只要可以 batch download 港交所的https 就夠了。
先謝!
作者: kong3883    時間: 2019-5-3 23:31

有冇 download link 的 example ?
作者: 吉夾萬    時間: 2019-5-4 13:51

有冇 download link 的 example ?
kong3883 發表於 2019-5-3 23:31


https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsioc190401.htm

作者: 吉夾萬    時間: 2019-5-5 12:54

Can anyone help ?
作者: kong3883    時間: 2019-5-5 21:08

今天是 2019-05-05, 5月1日的還未有, 即是不可以單純每月1號自動下載,
https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsioc190501.htm

要記錄過去成功下載過的月份 save 至 log
每次電腦開機查 log, 如果今個月未存在於 log, 就下載
開始下載時還要判斷 response 是否 404, 如果是就直接 exit
下次開機重新 loop 以上程序, 直至有寫入至 log

除非你知道港交所每月固定幾號一定會出 report, 將會更簡單
作者: kong3883    時間: 2019-5-6 20:46

本帖最後由 kong3883 於 2019-5-6 21:40 編輯

喔, 原來睇錯區, 以為自己在程式編寫區
如果你意思是想輸入 https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsioc19[01:04]01.htm 來 batch download

1. 神器 Firefox Addon: DownThemAll! , VM WinXP 還在用, 好容易 set referer
[attach]2124727[/attach]

2. Linux 本身有 wget

3. curl https://curl.haxx.se/windows/
download unzip 免安裝, 執行 CMD 去到 curl\bin 輸入
  1. curl -O https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsioc19[01-04]01.htm
複製代碼
可以將 curl\bin 的位置加入至 Windows 系統環境變數, 執行 CMD 後可在任何位置執行 curl 命令
document: https://curl.haxx.se/docs/manpage.html

有時要自動 login 某些網站下載東西, 我都是用 curl
作者: 吉夾萬    時間: 2019-5-7 01:22

喔, 原來睇錯區, 以為自己在程式編寫區
如果你意思是想輸入 [01:04]01.htm 來 batch download

1. 神器 Fir ...
kong3883 發表於 2019-5-6 20:46


多謝賜教,我講得唔清楚。我係用 Windows7 , firefox ,
以往用idm 試用版及fleshget,set 以上 link 日期就 1904** , 即19年4月1號開始,wild word 01 至30 咁樣自動單撈。每月要做一次,煩都係一次,用呢個方法只會撈呢樣野,無其他野,所以都無謂比錢買軟件。

但起 firefox addon , 搵唔到有個叫 DownthemAll  ??
作者: kong3883    時間: 2019-5-7 01:40

DownThemAll 是很舊的 addon, win7 , win10 應該沒法裝,
那要 download 的是 每一個月 (19xx01) 還是每天都要 (19xxXX)?
你每天都要 download 前一天的 report 還是每月一號 download 番晒前一個月的每一天 report ?

curl 下載 2019 年 1 月 1 日- 2019 年 4 月 31 日 的所有 report, 但無開市的 response is 404
  1. curl -O https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsioc19[01-04][01-31].htm
複製代碼

作者: 吉夾萬    時間: 2019-5-7 23:11

DownThemAll 是很舊的 addon, win7 , win10 應該沒法裝,
那要 download 的是 每一個月 (19xx01) 還是每天都 ...
kong3883 發表於 2019-5-7 01:40


我係每個月完左,通常二三號後,就一次過撈返晒,例如四月份,仲未download ,
以前係用 fleshget 1904xx , 由01開始至30 咁set batch download ,
但自從轉左 https 開頭,個 fleshget 已經唔支援。後來用過 IDM . 但一個月巳唔work ,
我唔需要快,只需每個月一次下載返上個月紀錄。


https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsifc1904*.htm

https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hhifc1904*.htm

https://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hsio1904*.htm

https://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hhio1904*.htm

https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/dqec1904*.htm

https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/mhioc1904*.htm
作者: toylet    時間: 2019-5-8 01:05

提示: 作者被禁止或刪除 內容自動屏蔽
作者: chue    時間: 2019-5-8 05:35

唔知 EAGLEGET 得唔得.而家主要用佢下載 ISO,有D SERVER 太慢又易斷,響搵軟件時選左呢個
作者: 吉夾萬    時間: 2019-5-8 21:11

curl 及 wget 都撈左,但唔知點用,command line 的程式似乎真係唔多適合一般用家。起個cmd 入左去,入極都係 C:\Users\我個名
想跳去 Wget and curl 個 folder ??

我仲以為好多同類軟件都做到,原來咁難?
作者: 吉夾萬    時間: 2019-5-8 21:32

curl 及 wget 都撈左,但唔知點用,command line 的程式似乎真係唔多適合一般用家。起個cmd 入左去,入極都係 C:\Users\我個名
想跳去 Wget and curl 個 folder ??

我仲以為好多同類軟件都做到,原來咁難?
作者: 吉夾萬    時間: 2019-5-8 21:32

唔知 EAGLEGET 得唔得.而家主要用佢下載 ISO,有D SERVER 太慢又易斷,響搵軟件時選左呢個 ...
chue 發表於 2019-5-8 05:35


試埋,唔年點解,開左一次之後唔得
作者: 吉夾萬    時間: 2019-5-8 21:39

wget, curl, 得唔得?
toylet 發表於 2019-5-8 01:05


請問有冇 window 界面的?
果d 三十幾年前 dos command line 軟件,真係非我呢種一般用家適合
作者: kong3883    時間: 2019-5-8 23:44

本帖最後由 kong3883 於 2019-5-8 23:58 編輯
請問有冇 window 界面的?
果d 三十幾年前 dos command line 軟件,真係非我呢種一般用家適合  ...
吉夾萬 發表於 2019-5-8 21:39


你是 windows 7 還是 windows 10 ?
如果唔想將 curl\bin 加到系統環境變數, 就只能去到指定目錄才能執行 curl 命令

1. unzip curl 放在 C:\curl

2. 將你那些 link 用以下格式儲存為 urls.txt, 放在 C:\curl\bin\urls.txt
  1. url = "https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsifc1904[01-31].htm"
  2. -O

  3. url = "https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hhifc1904[01-31].htm"
  4. -O

  5. url = "https://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hsio1904[01-31].htm"
  6. -O

  7. url = "https://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hhio1904[01-31].htm"
  8. -O

  9. url = "https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/dqec1904[01-31].htm"
  10. -O

  11. url = "https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/mhioc1904[01-31].htm"
  12. -O
複製代碼
3. 打開 cmd, 輸入
  1. cd c:\curl\bin
複製代碼
4. 然後輸入
  1. curl -K urls.txt
複製代碼

作者: toylet    時間: 2019-5-8 23:53

提示: 作者被禁止或刪除 內容自動屏蔽
作者: 吉夾萬    時間: 2019-5-10 00:27

當然最好問 Google Search... 隨時答得好過我!



Real-time 查股價多數要俾錢, 否則有機會被 BAN IP, 甚 ...
toylet 發表於 2019-5-8 23:53


多謝去推介。但我完全唔係問緊 real time check 股價。
上面提及的只係每日的港交所每日唔同種類的期貨資料,每一個月結束後撈返一整個月的每日資料。
資料是公開而免費的,唔明白點解你會講左去real time ?
作者: 吉夾萬    時間: 2019-5-10 01:01

你是 windows 7 還是 windows 10 ?
如果唔想將 curl\bin 加到系統環境變數, 就只能去到指定目錄才能執行  ...
kong3883 發表於 2019-5-8 23:44


我係用 window 7的。
整到了,多謝!多謝!多謝!重要的事要講三次!

但有個小插曲,以往如果用 fleshget , internet download manager 之類,
例如以四月為例,5,6,7, 13,14,,,,,即一般的周六日公眾假期,係無交易日,
因為只想保留有交易日有數據的檔案在 data base。
但撈完後個 folder 自動制做左一個有日期號碼的  htm 檔,有幾種期貨的file size 在有交易日係較大,
例如股票期權,每個幾 M 大,如冇交易的的日期個html file size 得5k ,咁我唔望個日曆都可以抄有交易的檔案去自己儲存位置。但問題係期指,不論有冇交易日都係得5k 一個,咁我只能望住個月曆睇返邊一個交易日有交易。雖然係麻煩d 但都叫做到。但以往用 fleshget or IDM , 因為冇file 即撈唔到,
有時港交所server 窒都會撈唔到,如果咁個程式都create 一個htm 我就好易撈左個空白檔而自己都唔知,因我唔會撈完後每個檔案都打開檢查一次。

更重要係,有時風季打風,月頭打風,月尾都唔記得邊一日無市,在"只保存 data base 內檔案都係有交易日" 的大原則下,點樣可以過瀘走無交易日的檔案,似乎要再諗諗了。

再次多謝先!你已幫左好多了!
作者: 吉夾萬    時間: 2019-5-10 01:07

唔知 EAGLEGET 得唔得.而家主要用佢下載 ISO,有D SERVER 太慢又易斷,響搵軟件時選左呢個 ...
chue 發表於 2019-5-8 05:35


試左,但似乎唔係太 user intuitive/friendly , 有得揀 batch download , 但都唔知佢想撈乜?
thank you anyway .
作者: kong3883    時間: 2019-5-10 06:09

本帖最後由 kong3883 於 2019-5-10 06:13 編輯
我係用 window 7的。
整到了,多謝!多謝!多謝!重要的事要講三次!   

但有個小 ...
吉夾萬 發表於 2019-5-10 01:01


首先 FlashGet 和 IDM 只是單純下載 response == 200 的 file
所以你錯覺會覺得它們可以 filter 星期六,日,公眾假期

現在就要看你是要"全自動"或"半自動"

"全自動" (完全不需要你介入)
要自己寫 script,
filter 不會下載星期六,日
filter 不會下載公眾假期 (fetch https://www.1823.gov.hk/big5/blog/calendar.aspx)
寫 logic 取得一份 100% 會有 report 的日期 list
根據這份 list 下載所有檔案, 如果某一個檔案無法下載, 要寫入 log, 提示你這個檔案是應該有的, 但下載唔到, retry later

"半自動" (比較適合你的方案)
上面提到的 urls.txt 格式完全不變, 但改用以下 command
  1. curl -f -K urls.txt
複製代碼
-f 說明 https://curl.haxx.se/docs/manpage.html#-f

***重要*** 腳交所 server down 左, 唔代表該日期沒有 report, 只是你下載唔到

最後睇一下月歷, 找出星期一至五而且不是公眾假期, 應該和你下載的一模一樣
如果不是一樣就代表腳交所 server 不穩定或其他因素
作者: kong3883    時間: 2019-5-10 07:36

本帖最後由 kong3883 於 2019-5-10 07:42 編輯

對於有些朋友 fetch 唔到其他網址, 有好多其他因素
例如: UserName, Password, Cookies, User-Agent, Referer 等等

以 OP 的例子, 最好還是在 command 加番 user-agent 和 referer
-A 說明 https://curl.haxx.se/docs/manpage.html#-A
-e 說明 https://curl.haxx.se/docs/manpage.html#-e

但加番之後, command 會變得好長
直接在 urls.txt 最 top 位置加 2 行:
  1. user-agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0"
  2. referer = "https://www.hkex.com.hk/"

  3. url = "https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsifc1904[01-31].htm"
  4. -O

  5. url = "https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hhifc1904[01-31].htm"
  6. -O

  7. url = "https://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hsio1904[01-31].htm"
  8. -O

  9. url = "https://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hhio1904[01-31].htm"
  10. -O

  11. url = "https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/dqec1904[01-31].htm"
  12. -O

  13. url = "https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/mhioc1904[01-31].htm"
  14. -O
複製代碼
一樣用番原本的 command
  1. curl -f -K urls.txt
複製代碼
-完-

如果想知道 user-agent, referer 有沒有套用, 簡單建立一個 c:\curl\bin\test.txt
  1. user-agent = "WinXP"
  2. referer = "https://www.hkex.com.hk/"

  3. url = "https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsifc1904[01-02].htm"
  4. -v
複製代碼
執行
  1. curl -f -K test.txt
複製代碼
會見到一些資料, 包括 hkex 個 server 係邊, User-Agent, Referer ...etc
作者: davidleehk    時間: 2019-5-10 10:19

樓主可以試下免費嘅Free Download Manager 3.9.7 應該符合你嘅要求。
作者: kong3883    時間: 2019-5-10 10:49

樓主可以試下免費嘅Free Download Manager 3.9.7 應該符合你嘅要求。
davidleehk 發表於 2019-5-10 10:19


FDM 3.9.7 好像唔 support pattern leading zero
[attach]2125501[/attach]
作者: davidleehk    時間: 2019-5-10 13:23

回覆 24# kong3883


    唔係,要用 Assign 01 - 30 wildcard: 2 Add
作者: kong3883    時間: 2019-5-10 13:57

本帖最後由 kong3883 於 2019-5-10 14:00 編輯
回覆  kong3883


    唔係,要用 Assign 01 - 30 wildcard: 2 Add
davidleehk 發表於 2019-5-10 13:23


喔, 原來這樣, 一直都在用FDM新版, 但新版簡化了所有功能, 刪除了許多 3.9.7 的功能
剛剛在 VM WinXP 試了一下, 用你的方法產生下載 list, 但無法下載 Unknown network ...
無太詳細睇 settings, 其實是否唔支援 https ?

喔, 其他 https 網頁是可以的, OP 可以一試
無詳細再試
作者: davidleehk    時間: 2019-5-10 14:06

本帖最後由 davidleehk 於 2019-5-10 14:08 編輯

回覆 26# kong3883


    我之前系win7幫樓主試過,下載到無問題。所有嘢系用預設,無改過設定。
作者: toylet    時間: 2019-5-10 14:56

提示: 作者被禁止或刪除 內容自動屏蔽
作者: 吉夾萬    時間: 2019-5-10 19:17

對於有些朋友 fetch 唔到其他網址, 有好多其他因素
例如: UserName, Password, Cookies, User-Agent, Refer ...
kong3883 發表於 2019-5-10 07:36


電腦用得耐,但只係剛開始學Python ,上面講乜,完全唔明,非常抱歉!

我會抄低留待日後用。

暫時用curl 可以一次過撈晒各種資料上一個月紀錄。至多事後起 file manager 人手執返無交易日的空白檔出嚟,打風黑雨唯有人手記低。以前用 freshget , 要每樣野入batch download , 六樣野做六次,時間其實差唔多。

總知,你真係幫左我好多!再衷心感激!Have a nice holiday !
作者: kong3883    時間: 2019-5-10 19:41

本帖最後由 kong3883 於 2019-5-10 19:43 編輯
電腦用得耐,但只係剛開始學Python ,上面講乜,完全唔明,非常抱歉!

我會抄低留待 ...
吉夾萬 發表於 2019-5-10 19:17


其實跟番 #22 樓 最 top 加番個 2 行比較好, 如果唔係網管會當你 bot
加完之後執行
  1. curl -f -K urls.txt
複製代碼
就唔會下載那些空白檔
作者: tse111    時間: 2019-5-11 01:23

本帖最後由 tse111 於 2019-5-11 01:42 編輯

Simple mass downloader
https://addons.mozilla.org/zh-TW ... downloader/reviews/
https://www.hkex.com.hk/chi/stat/dmstat/dayrpt/hsioc19[01:04][01:31].htm
[attach]2125625[/attach]
作者: 吉夾萬    時間: 2019-5-13 20:38

Simple mass downloader

[01:04][01:31].htm
tse111 發表於 2019-5-11 01:23


放假得閒再試試。
thanks





歡迎光臨 電腦領域 HKEPC Hardware (https://h2.hkepc.com/forum/) Powered by Discuz! 7.2