開啟指定的網址,但開啟某些網頁時會出現-933的error code,可以用SET !ERRORIGNORE YES 忽略。這部分很怪,明明瀏覽器出現了網頁的內容,卻有-933的error code, 而error code -933代表的是Network error while file or page loading這該不會是bug?!
WAIT SECONDS=n, 等待n秒,某些網站Ajax個技術更新內容的時候就會用到
SET 設定內建變數,這部分免費版的iMarco只有內建變數跟!VAR1, !VAR2, !VAR3這幾個變數可以用。免費版無法自訂變數。
變數取值{{!變數名稱}},例如:取得!VAR1的資料→{{!VAR1}}
內建的時間變數取值{{!NOW:yyyymmdd_hhnnss}}
+ yyyy - 西元年
+ mm - 月
+ dd - 日
+ hh - 小時
+ nn - 分(這跟習慣的time format有點不太一樣)
+ ss - 秒
'註解
SAVEAS TYPE=(CPL|MHT|HTM|TXT|EXTRACT|JPEG|PNG) FOLDER=folder_name FILE=file_name
TYPE:
- CPL - 完整網頁
- MHT - 封存網頁檔
- HTM - 只有HTML
- TXT - 只有文字,HTML標籤會被忽略
- EXTRACT 要配合TAG ... EXTRACT=TXT|TXTALL|HTM ...
- JPEG - 將網頁存成圖檔(免費版不支援Flash,所以Flash的部分會是空白)
- PNG - (同TYPE=JPEG)
- FOLDER=*(將檔案下載到C:\Documents and Settings\{username}\My Documents\iMacros\Downloads)
- FOLDER=C:\Download(將檔案存到C:\Download)
- FILE=* (使用預設檔名extract.csv)
- FILE=test1 (設定檔名為test1,副檔名可以忽略,iMacros會自動把TYPE=..當成副檔名補上)
- FILE=+{{!NOW:yyyymmdd}} (檔名:網頁標題+yyyymmdd)
注意事項:
- FOLDER與FILE中若有空白字元,要用<SP>來替代空白字元。
- 若TYPE=TXT,檔案已經存在的話,會將內容附加到檔案尾端。若是TYPE=JPEG|PNG的話,會覆蓋檔案內容。
FOLDER:
- FOLDER→設定方法與SAVEAS相同
- FILE→設定方法與SAVEAS相同
TAG POS=n TYPE=type [FORM=form] ATTR=attr [CONTENT=some_content]
- POS=n 某個標籤的絕對位置(在HTML檔案中的順序)
- TYPE=標籤名
- FORM=表單名稱
- ATTR=標籤屬性
- CONTENT=配合FORM填入特定值,或是觸發特定事件如EVENT:SAVEITEM
TAG指令的參數自己填很麻煩,所以通常是用錄製的方式去點選網頁元素,讓iMarcos自動填上相關TAG指令的參數。
錄製模式中的Click Mode通常選擇第一個就可以了
ONDOWNLOAD與TAG這兩個指令常配合一起使用,用來抓取網頁中特定的項目,如指定的圖片或文字。
例如: 從玩股網抓騰落線圖,並將檔案存到C:\ADLines, 檔名為ADLine_yyyymmdd.png
URL GOTO=http://www.wantgoo.com/hottip.aspx?m=adline
ONDOWNLOAD FOLDER=C:\ADLines FILE=ADLine_{{!NOW:yyyymmdd}}.png
TAG POS=1 TYPE=IMG ATTR=ID:ctl00_service_ADline1_imgADline CONTENT=EVENT:SAVEITEM
上面藍字的部分是用iMacros錄製完畢之後,自己再加上去的。
例如: 從StockQ抓取經濟數據
URL GOTO=http://www.stockq.org/economy/
TAG POS=7 TYPE=TABLE ATTR=TXT:* EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=C:\ FILE=StockQ.csv
上面藍字的部分是用iMacros錄製完畢之後,自己再加上去的。
用ONDOWNLOAD設定TAG CONTENT=
- EVENT:SAVEITEM
- EVENT:SAVE_ELEMENT_SCREENSHOT
TAG CONTENT參數只能用在:
- 填表單資料
- 觸發事件,如: CONTENT=EVENT:SAVEITEM
- TAG CONTENT=EVENT:SAVEITEM不能與EXTRACT一起使用
另外,TAG比較麻煩的地方是抓HTML TABLE的部分,有時候需要自己開網頁原始碼來算一下,要的資料是在第幾個TABLE 。
有用到EXTRACT參數的話記得要把SET !EXTRACT_TEST_POPUP NO,要不然會跳出視窗,腳本會停在TAG EXTRACT=...那一行。
EXTRACT=TXT|TXTALL|HTM|HREF|TITLE
- TXT 標籤所包圍的文字內容
- TXTALL 下拉式選單的內容
- HTM HTML
- HREF 抓取<A>的HREF屬性
- TITLE 抓取<A>...</A>所包圍的文字
關於TAG參數EXTRACT與SAVEAS指令:
- If several EXTRACT commands appear in one macro the results are separated by the string [EXTRACT]. This string is automatically translated into a line break when using the "SAVEAS TYPE=EXTRACT" command.
- If complete tables were extracted then adjacent table elements are separated by the string #NEXT# and ends of table rows are delimited by the string #NEWLINE#. These tags are automatically translated into commas and newlines when you use the "SAVEAS TYPE=EXTRACT" command.
TAB (T=n|OPEN|CLOSE|CLOSEALLOTHERS)
- T=n, 指定第n個分頁作為目前分業
- T=OPEN, 在背景開啟新分頁
- T=CLOSE, 關閉目前分頁
- T=CLOSEALLOTHERS, 關閉目前分頁外的所有其他分頁
免費版很多功能都沒有或是不完整,詳細可參考:http://iopus.com/imacros/compare/all/
多谢,非常好的iMacros中文资料。
回覆刪除