定時下載某頁面.....不知道有什麼軟體可以辦到
版主: ross_tt
定時下載某頁面.....不知道有什麼軟體可以辦到
因為研究需求,需要每小時下載中央氣象局的氣象觀測資料
但是半夜又不可能起來下載
請問有可以達到此要求的軟件嗎
但是半夜又不可能起來下載
請問有可以達到此要求的軟件嗎
可以用系統內建的 CRON 搭配 CURL 就好。
CURL 的語法是【curl {url} -o outputfile】,範例:
就可以把現在氣象資料存到你的 Home 目錄,以『年月日時分』當作檔名的檔案中。
crontab 的用法則是
進入之後輸入
這樣就可以每個小時 30 分時自動下載一份最新的氣象資料。
詳細說明請參考 man curl 和 man 5 crontab。
CURL 的語法是【curl {url} -o outputfile】,範例:
代碼: 選擇全部
curl http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm -s -o ~/`date "+%y%m%d%H%M.html"`crontab 的用法則是
代碼: 選擇全部
sudo crontab -e 你的帳號代碼: 選擇全部
#
30 * * * * /usr/bin/curl http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm -s -o ~/`date "+%y%m%d%H%M.html"` 2>/dev/null詳細說明請參考 man curl 和 man 5 crontab。
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.
ash nazg thrakatuluk agh burzum-ishi krimpatul.
Re: 定時下載某頁面.....不知道有什麼軟體可以辦到
使用 Quickeys-X3 也可輕易的做!safinafan 寫:因為研究需求,需要每小時下載中央氣象局的氣象觀測資料
但是半夜又不可能起來下載
請問有可以達到此要求的軟件嗎
I love OPERA !
Re: 定時下載某頁面.....不知道有什麼軟體可以辦到
我去站上看了一下...請問你有用過嗎...???rlong 寫:使用 Quickeys-X3 也可輕易的做!safinafan 寫:因為研究需求,需要每小時下載中央氣象局的氣象觀測資料
但是半夜又不可能起來下載
請問有可以達到此要求的軟件嗎
你的mail是多少勒....加入msn大家教個好友吧
ulysses 寫:可以用系統內建的 CRON 搭配 CURL 就好。
CURL 的語法是【curl {url} -o outputfile】,範例:
就可以把現在氣象資料存到你的 Home 目錄,以『年月日時分』當作檔名的檔案中。代碼: 選擇全部
curl http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm -s -o ~/`date "+%y%m%d%H%M.html"`
crontab 的用法則是
進入之後輸入代碼: 選擇全部
sudo crontab -e 你的帳號
這樣就可以每個小時 30 分時自動下載一份最新的氣象資料。代碼: 選擇全部
# 30 * * * * /usr/bin/curl http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm -s -o ~/`date "+%y%m%d%H%M.html"` 2>/dev/null
詳細說明請參考 man curl 和 man 5 crontab。
其實你講的有點深度
我因為才初次踏入mac的領域
可以麻煩你在位我解答深入點嗎...????
my mail is safina388@gmail.com
Re: 定時下載某頁面.....不知道有什麼軟體可以辦到
我也加這個一票。rlong 寫: 使用 Quickeys-X3 也可輕易的做!
Ulysses兄,你的方法太專業了。
試試這 [url=applescript://com.apple.scripteditor?action=new&script=on%20idle%0D%09run%0D%09return%202%20%2A%2060%20%2D%2D%20idle%20is%20called%20every%202%20minutes%0Dend%20idle%0D%0Don%20run%0D%09%2D%2D%20compose%20file%20name%0D%09set%20the%20wPage%20to%20%28%28path%20to%20desktop%20as%20Unicode%20text%29%20%26%20%22weatherInfo%22%20%26%20%28isoDT%20of%20me%20from%20%28current%20date%29%29%20%26%20%22%2Ehtml%22%29%0D%09%0D%09with%20timeout%20of%20300%20seconds%0D%09%09tell%20application%20%22URL%20Access%20Scripting%22%0D%09%09%09try%0D%09%09%09%09download%20%22http%3A%2F%2Fwww%2Ecwb%2Egov%2Etw%2FV4%2Fweather%2Fob%2Findex%2Dob%2Ehtm%22%20to%20file%20wPage%0D%09%09%09end%20try%0D%09%09end%20tell%0D%09end%20timeout%0Dend%20run%0D%0D%2D%2D%20ISO%208601%20dateTime%3A%20YYYYMMDDThhmmss%0Don%20isoDT%20from%20dateObj%0D%09copy%20dateObj%20to%20dateTemp%0D%09set%20dateTemp%27s%20month%20to%20January%0D%09return%20%22%22%20%26%20dateObj%27s%20year%20%26%20text%20%2D2%20thru%20%2D1%20of%20%28%220%22%20%26%20%281%20%2B%20%28dateObj%20%2D%20dateTemp%29%20div%202500000%29%29%20%26%20text%20%2D2%20thru%20%2D1%20of%20%28%220%22%20%26%20dateObj%27s%20day%29%20%26%20%22T%22%20%26%20%28words%20of%20dateObj%27s%20time%20string%29%0Dend%20isoDT]applescript[/url],存為 application、stay open:因為研究需求,需要每小時下載中央氣象局的氣象觀測資料
但是半夜又不可能起來下載
請問有可以達到此要求的軟件嗎
代碼: 選擇全部
on idle
run
return 2 * 60 -- idle is called every 2 minutes
end idle
on run
-- compose file name
set the wPage to ((path to desktop as Unicode text) & "weatherInfo" & (isoDT of me from (current date)) & ".html")
with timeout of 300 seconds
tell application "URL Access Scripting"
try
download "http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm" to file wPage
end try
end tell
end timeout
end run
-- ISO 8601 dateTime: YYYYMMDDThhmmss
on isoDT from dateObj
copy dateObj to dateTemp
set dateTemp's month to January
return "" & dateObj's year & text -2 thru -1 of ("0" & (1 + (dateObj - dateTemp) div 2500000)) & text -2 thru -1 of ("0" & dateObj's day) & "T" & (words of dateObj's time string)
end isoDTweatherInfo20050225T080635.html
或,稍加變化,可定時從指定網頁擷取資料,存入資料庫或 excel 檔案。
這不叫專業,這叫 UNIX 魔人
簡單解說一下,curl 是系統內附的一個超強網路下載軟體,可以處理 HTTP/FTP,也有 POST、HTTP-REFERER、Cookie 等功能。可惜它只有 Command Line 界面。命令語法就是 curl {URL}。-s 選項表示要它閉嘴不要回報進度,-o 選項表示把輸出結果寫到檔案裡。在 UNIX 命令中用 `` 符號圍起來的字串表示『執行這個命令,然後把結果字串填入這個位置』。 『2>&1 > /dev/null』則是把錯誤回報丟到黑洞去不理它。
不知道該怎麼處理的話,你先把下面整段 Copy 起來,打開 Terminal,Paste 進去(已測試過):
這一整段命令的意思就是把 http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm 抓下來,存放到 Documents 目錄,並改名為年月日的格式例如『0502240816.html』,如果發生任何錯誤都不回報。
CRON 則是 UNIX 系統的定時執行命令,Mac 上也是用它來作每日、每週、每月的系統定時維護命令。每個使用者都有一個自己的定時執行命令排程,稱為 crontab。可以使用 crontab -e {username} 這個指令來維護個別使用者的 crontab。說起來,crontab 算是危險命令。對 Vi 不熟悉的人,建議使用這個:
http://h5197.serverkompetenz.net/cronnix/
這是一個 GUI 界面的 Crontab 維護程式,寫得相當好。只要在裡面新增一個定時執行項目,設定定時執行的條件;要每個小時抓的話就只要點選 Minute 那個項目就好,輸入數字 0~59,表示『每個小時的第 * 分鐘執行』這個命令。然後把上面 curl 命令整段 Paste 到下面的 Command 欄中,這樣就好了。
使用 CRONTAB 來作排程,只要系統一開機,就一定會執行。不必登入、不需要額外執行一個程式、完全不會造成系統額外負擔、當然也不用付錢。最大最大的好處,就是當你需要遙控別人來幫你重新啟動系統時,完全不必多費脣舌教他怎麼登入、怎麼啟動額外的程式。這可是系統管理者的恩物。
Mac OS X 系統內附的各式各樣 GNU 工具與 UNIX 命令實在非常強大。大家一起來當 UNIX 狂人吧
簡單解說一下,curl 是系統內附的一個超強網路下載軟體,可以處理 HTTP/FTP,也有 POST、HTTP-REFERER、Cookie 等功能。可惜它只有 Command Line 界面。命令語法就是 curl {URL}。-s 選項表示要它閉嘴不要回報進度,-o 選項表示把輸出結果寫到檔案裡。在 UNIX 命令中用 `` 符號圍起來的字串表示『執行這個命令,然後把結果字串填入這個位置』。 『2>&1 > /dev/null』則是把錯誤回報丟到黑洞去不理它。
不知道該怎麼處理的話,你先把下面整段 Copy 起來,打開 Terminal,Paste 進去(已測試過):
代碼: 選擇全部
/usr/bin/curl http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm -s -o ~/Documents/`date "+%y%m%d%H%M.html"` 2>&1 > /dev/nullCRON 則是 UNIX 系統的定時執行命令,Mac 上也是用它來作每日、每週、每月的系統定時維護命令。每個使用者都有一個自己的定時執行命令排程,稱為 crontab。可以使用 crontab -e {username} 這個指令來維護個別使用者的 crontab。說起來,crontab 算是危險命令。對 Vi 不熟悉的人,建議使用這個:
http://h5197.serverkompetenz.net/cronnix/
這是一個 GUI 界面的 Crontab 維護程式,寫得相當好。只要在裡面新增一個定時執行項目,設定定時執行的條件;要每個小時抓的話就只要點選 Minute 那個項目就好,輸入數字 0~59,表示『每個小時的第 * 分鐘執行』這個命令。然後把上面 curl 命令整段 Paste 到下面的 Command 欄中,這樣就好了。
使用 CRONTAB 來作排程,只要系統一開機,就一定會執行。不必登入、不需要額外執行一個程式、完全不會造成系統額外負擔、當然也不用付錢。最大最大的好處,就是當你需要遙控別人來幫你重新啟動系統時,完全不必多費脣舌教他怎麼登入、怎麼啟動額外的程式。這可是系統管理者的恩物。
Mac OS X 系統內附的各式各樣 GNU 工具與 UNIX 命令實在非常強大。大家一起來當 UNIX 狂人吧
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.
ash nazg thrakatuluk agh burzum-ishi krimpatul.
- bryanchang
- 討論區管理員
- 文章: 7057
- 註冊時間: 04/19/2001 1:01 am
- 來自: The '60s
- 聯繫:
Re: 定時下載某頁面.....不知道有什麼軟體可以辦到
偶用Quickeys已好多年了,的確好用才說的safinafan 寫:我去站上看了一下...請問你有用過嗎...???
你的mail是多少勒....加入msn大家教個好友吧
目前偶用Quickeys-X3做每天定時叫樓上servo電腦的 air-tune 透過 臥房的 Airport express 播放音樂,以及定時做重要資料的備份工作,蠻好用的。
例如讓Quickeys定時(如每週的哪幾天的某個時間)呼叫 StuffIt 去加密壓縮一些檔案並存成以日期時間定名的檔案...
偶也試用它做了一下每分鐘去download您要的網頁,只要用圖形界面教導一下即可,不用寫程式喔!
偶最怕寫程式了,但是工作上的關係,又不得不寫程式,哎!
mail: rlong4587@mac.com
I love OPERA !
ulysses 寫:這不叫專業,這叫 UNIX 魔人![]()
簡單解說一下,curl 是系統內附的一個超強網路下載軟體,可以處理 HTTP/FTP,也有 POST、HTTP-REFERER、Cookie 等功能。可惜它只有 Command Line 界面。命令語法就是 curl {URL}。-s 選項表示要它閉嘴不要回報進度,-o 選項表示把輸出結果寫到檔案裡。在 UNIX 命令中用 `` 符號圍起來的字串表示『執行這個命令,然後把結果字串填入這個位置』。 『2>&1 > /dev/null』則是把錯誤回報丟到黑洞去不理它。
不知道該怎麼處理的話,你先把下面整段 Copy 起來,打開 Terminal,Paste 進去(已測試過):
這一整段命令的意思就是把 http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm 抓下來,存放到 Documents 目錄,並改名為年月日的格式例如『0502240816.html』,如果發生任何錯誤都不回報。代碼: 選擇全部
/usr/bin/curl http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm -s -o ~/Documents/`date "+%y%m%d%H%M.html"` 2>&1 > /dev/null
CRON 則是 UNIX 系統的定時執行命令,Mac 上也是用它來作每日、每週、每月的系統定時維護命令。每個使用者都有一個自己的定時執行命令排程,稱為 crontab。可以使用 crontab -e {username} 這個指令來維護個別使用者的 crontab。說起來,crontab 算是危險命令。對 Vi 不熟悉的人,建議使用這個:
http://h5197.serverkompetenz.net/cronnix/
這是一個 GUI 界面的 Crontab 維護程式,寫得相當好。只要在裡面新增一個定時執行項目,設定定時執行的條件;要每個小時抓的話就只要點選 Minute 那個項目就好,輸入數字 0~59,表示『每個小時的第 * 分鐘執行』這個命令。然後把上面 curl 命令整段 Paste 到下面的 Command 欄中,這樣就好了。
使用 CRONTAB 來作排程,只要系統一開機,就一定會執行。不必登入、不需要額外執行一個程式、完全不會造成系統額外負擔、當然也不用付錢。最大最大的好處,就是當你需要遙控別人來幫你重新啟動系統時,完全不必多費脣舌教他怎麼登入、怎麼啟動額外的程式。這可是系統管理者的恩物。
Mac OS X 系統內附的各式各樣 GNU 工具與 UNIX 命令實在非常強大。大家一起來當 UNIX 狂人吧
你說得這一串/usr/bin/curl http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm -s -o ~/Documents/`date "+%y%m%d%H%M.html"` 2>&1 > /dev/null
我在中端機已經key進去了,在我的文件內疚有一個望夜已經儲存了
但是他是每小時可以自動下載嗎
有哪一些文件可以參考
定時自動下載就是要靠CRONTAB來處理,簡單又方便。safinafan 寫:但是他是每小時可以自動下載嗎ulysses 寫:CRON 則是 UNIX 系統的定時執行命令,Mac 上也是用它來作每日、每週、每月的系統定時維護命令。每個使用者都有一個自己的定時執行命令排程,稱為 crontab。可以使用 crontab -e {username} 這個指令來維護個別使用者的 crontab。說起來,crontab 算是危險命令。對 Vi 不熟悉的人,建議使用這個:
http://h5197.serverkompetenz.net/cronnix/
這是一個 GUI 界面的 Crontab 維護程式,寫得相當好。只要在裡面新增一個定時執行項目,設定定時執行的條件;要每個小時抓的話就只要點選 Minute 那個項目就好,輸入數字 0~59,表示『每個小時的第 * 分鐘執行』這個命令。然後把上面 curl 命令整段 Paste 到下面的 Command 欄中,這樣就好了。
使用 CRONTAB 來作排程,只要系統一開機,就一定會執行。不必登入、不需要額外執行一個程式、完全不會造成系統額外負擔、當然也不用付錢。最大最大的好處,就是當你需要遙控別人來幫你重新啟動系統時,完全不必多費脣舌教他怎麼登入、怎麼啟動額外的程式。這可是系統管理者的恩物。
to be or not to be.
這是一個 GUI 界面的 Crontab 維護程式,寫得相當好。只要在裡面新增一個定時執行項目,設定定時執行的條件;要每個小時抓的話就只要點選 Minute 那個項目就好,輸入數字 0~59,表示『每個小時的第 * 分鐘執行』這個命令。然後把上面 curl 命令整段 Paste 到下面的 Command 欄中,這樣就好了。
使用 CRONTAB 來作排程,只要系統一開機,就一定會執行。不必登入、不需要額外執行一個程式、完全不會造成系統額外負擔、當然也不用付錢。最大最大的好處,就是當你需要遙控別人來幫你重新啟動系統時,完全不必多費脣舌教他怎麼登入、怎麼啟動額外的程式。這可是系統管理者的恩物。
Mac OS X 系統內附的各式各樣 GNU 工具與 UNIX 命令實在非常強大。大家一起來當 UNIX 狂人吧
[/quote]
我是不一勾選分鐘那一籃嗎
其他都勾選,分鐘那一欄位輸入ex25就是每小時25分下載嗎
使用 CRONTAB 來作排程,只要系統一開機,就一定會執行。不必登入、不需要額外執行一個程式、完全不會造成系統額外負擔、當然也不用付錢。最大最大的好處,就是當你需要遙控別人來幫你重新啟動系統時,完全不必多費脣舌教他怎麼登入、怎麼啟動額外的程式。這可是系統管理者的恩物。
Mac OS X 系統內附的各式各樣 GNU 工具與 UNIX 命令實在非常強大。大家一起來當 UNIX 狂人吧
我是不一勾選分鐘那一籃嗎
其他都勾選,分鐘那一欄位輸入ex25就是每小時25分下載嗎
好像在 CronniX 中直接下命令會有 Syntax Error 的樣子,用另外一種方法好了。
另外,這個方法適用於所有 Linux 機器,如果你學校有工作站,也可以用同樣的方式放上去執行,不需要用 Mac 跑。只是 Crontab 就必須自己動手編。
- 打開 Terminal,把以下的命令整段直接 Copy & Paste 進去
代碼: 選擇全部
cd ~/Documents/ echo '#!/bin/sh' > ./weather.sh echo -n '/usr/bin/curl http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm ' >> ./weather.sh echo ' -s -o $HOME/Documents/`date "+%y%m%d%H%M.html"` 2>&1 > /dev/null' >> ./weather.sh chmod a+x ./weather.sh - 此時你的 Documents 目錄中會有一個 weather.sh 檔案。在 Terminal 中下『~/Documents/weather.sh』命令,看看會不會去抓網頁存檔。
- 打開 CronniX,新增一個項目。
- Hour、Day of month、Month、Day of week 第一格勾選起來,Minute 輸入 30(0~59,看你要每小時第幾分去抓)
- 下面的 Command 欄位,不勾選 Prepend "/usr/bin/open",在命令對話筐中輸入:
代碼: 選擇全部
$HOME/Documents/weather.sh - 點選 Apply
- 點選 Save
另外,這個方法適用於所有 Linux 機器,如果你學校有工作站,也可以用同樣的方式放上去執行,不需要用 Mac 跑。只是 Crontab 就必須自己動手編。
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.
ash nazg thrakatuluk agh burzum-ishi krimpatul.
我在輸入~/Documents/weather.sh 時,在我的文件寫沒有新的頁面產生耶ulysses 寫:好像在 CronniX 中直接下命令會有 Syntax Error 的樣子,用另外一種方法好了。已經測試過,確定可以用。
- 打開 Terminal,把以下的命令整段直接 Copy & Paste 進去
代碼: 選擇全部
cd ~/Documents/ echo '#!/bin/sh' > ./weather.sh echo -n '/usr/bin/curl http://www.cwb.gov.tw/V4/weather/ob/index-ob.htm ' >> ./weather.sh echo ' -s -o $HOME/Documents/`date "+%y%m%d%H%M.html"` 2>&1 > /dev/null' >> ./weather.sh chmod a+x ./weather.sh- 此時你的 Documents 目錄中會有一個 weather.sh 檔案。在 Terminal 中下『~/Documents/weather.sh』命令,看看會不會去抓網頁存檔。
- 打開 CronniX,新增一個項目。
- Hour、Day of month、Month、Day of week 第一格勾選起來,Minute 輸入 30(0~59,看你要每小時第幾分去抓)
- 下面的 Command 欄位,不勾選 Prepend "/usr/bin/open",在命令對話筐中輸入:
代碼: 選擇全部
$HOME/Documents/weather.sh- 點選 Apply
- 點選 Save
另外,這個方法適用於所有 Linux 機器,如果你學校有工作站,也可以用同樣的方式放上去執行,不需要用 Mac 跑。只是 Crontab 就必須自己動手編。
請問cronnix儲存後要從新開機嗎
1. 請把上面說過的整段命令從 cd ~/Documents 到 chmox a+x ./weather.sh 通通複製起來 Paste 進 Terminal 中。不要照著打,裡面有幾個字元在網路上看不清楚會打錯。以上的動作不應該會產生任何錯誤訊息,如果有錯誤訊息就不對。過程如下圖:safinafan 寫:我在輸入~/Documents/weather.sh 時,在我的文件寫沒有新的頁面產生耶
請問cronnix儲存後要從新開機嗎

2. 執行完畢後,在 Terminal 中下
代碼: 選擇全部
cat ~/Documents/weather.sh
3. 然後在 Terminal 中下
代碼: 選擇全部
~/Documents/weather.sh代碼: 選擇全部
ls ~/Documents/*.html
4. 到這邊都沒有問題之後,再進入 ConniX 作業。首先先建立一個新的項目:

5. 在主畫面中選取剛剛新增的項目,然後選取 Task > Run Now


6. 再回到 Terminal 中,再 ls 一次,應該就會看到多了一個檔案:

7. 回到 CronniX,選擇存檔,這樣就好了,不需要重新開機。
8. 以上所有動作,執行過程中如果有任何一個地方和圖示不同(除了帳號名稱與 HTML 檔案名稱以外),就表示有錯。
以上步驟確定確實可以執行。如果還不會,在下也沒辦法教了,你就去買 QuicKey 吧。
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.
ash nazg thrakatuluk agh burzum-ishi krimpatul.
