2013-07-08 34 views
2

我有很長的代碼序列,訪問一個網站,登錄,從.csv發佈內容並保存信息,註銷並訪問下一個網站。這全是硬編碼iMacros:URL GOTO = null,跳過?

什麼是跳過部分代碼的最簡單方法? 我有60個網站。例如:

現在,我不想宏來訪網站5,6,7,9,10,22,26,35,40,45,50,59
在1小時,我不希望宏觀訪問網站4,5,9,10,19,30,31,49和50

比如我的代碼看起來是:

' First Website 
TAB T=1 
SET !DATASOURCE test.csv 
SET !DATASOURCE_COLUMNS 2 
SET !LOOP 2 
SET !DATASOURCE_LINE {{!LOOP}} 
SET !ERRORIGNORE YES 
SET !TIMEOUT_PAGE 2 

URL GOTO=http://liu.com 

TAG POS=1 TYPE=INPUT:TEXT FORM=ID:mortalSubmit ATTR=NAME:title CONTENT={{!COL1}} 
TAG POS=1 TYPE=TEXTAREA FORM=ID:mortalSubmit ATTR=ID:post CONTENT={{!COL2}} 
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:mortalSubmit ATTR=ID:submit 

ADD !EXTRACT {{!URLCURRENT}} 
ADD !EXTRACT {{!COL1}} 
ADD !EXTRACT {{!COL2}} 
TAG POS=1 TYPE=DIV ATTR=CLASS:success EXTRACT=TXT 
TAG POS=1 TYPE=DIV ATTR=CLASS:error EXTRACT=TXT 
SAVEAS TYPE=EXTRACT FOLDER=* FILE=report.csv 

TAG POS=2 TYPE=A ATTR=TXT:Log<SP>out 

WAIT SECONDS=3 

' Second Website 

TAB T=1 
SET !DATASOURCE test.csv 
SET !DATASOURCE_COLUMNS 2 
SET !LOOP 3 
SET !DATASOURCE_LINE {{!LOOP}} 
SET !ERRORIGNORE YES 
SET !TIMEOUT_PAGE 2 

URL GOTO=http://kang.com/admin 

TAG POS=1 TYPE=A ATTR=TXT:Add<SP>New 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:combatSubmit ATTR=NAME:title CONTENT={{!COL1}} 
TAG POS=1 TYPE=TEXTAREA FORM=ID:combatSubmit ATTR=ID:post CONTENT={{!COL2}} 
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:combatSubmit ATTR=ID:submit 

ADD !EXTRACT {{!URLCURRENT}} 
ADD !EXTRACT {{!COL1}} 
ADD !EXTRACT {{!COL2}} 
TAG POS=1 TYPE=DIV ATTR=CLASS:updated EXTRACT=TXT 
SAVEAS TYPE=EXTRACT FOLDER=* FILE=report.csv 

TAG POS=2 TYPE=A ATTR=TXT:Exit 

WAIT SECONDS=3 

這完全適用我。

因此,在上面的示例中,我如何使代碼跳過第一個網站並直接進入第二個網站?我知道我可以將代碼的第一部分作爲註釋並將SET!LOOP從3更改爲2.它可以工作,但我無法在60個網站上執行此操作。

我想..

我有URL信息的單獨的.csv:

URL,Name 
http://liu.com,LIU.COM 
http://kang/admin.com,KANG.COM 

並在代碼:

SET !DATASOURCE urls.csv 

' First Website 
SET !LOOP 2 
URL GOTO={{!COL1}} 

' Second Website 
SET !LOOP 3 
URL GOTO={{!COL1}} 

並以某種方式使IF COL1 = NULL GOTO命令行x,或其他! 或者讓我們在col1中鍵入dasjdkaskasdasasdasg.com並讓它跑低谷,儘管這會很快。它是否存在更好的解決方案?

SET!LOOP是有問題。是否有可能使第一SETLOOP 2和所有其他的是隨之而來的SETLOOP 以前+ 1

最好的問候,

劉康

UPPDATED:!不可能只是實現這一目標使用IIM。與EVAL長期合作讓SETLOOP上升,但這是非常有限的。 See updated comment。從評論

摘要:

  • 分裂了代碼到每個網站
  • 一個.iim文件所有.iim-文件具有相同的.CSV
  • 一個獨特的SETLOOP和進口數據Javascript文件執行每個.iim文件
  • 只有當.CSV中的COL3包含數據時,才能使Javascript執行.iim文件的解決方案的工作方式是,當使用iMacros時不允許使用jQuery時,問題現在爲make the Javascript import data from the .CSV
+0

只是想知道...你可能會建立某種自動化的spambot嗎? –

+0

我確實創建了一個發佈到網站的「bot」,但我並不是垃圾郵件。請看看我以前的問題http://stackoverflow.com/questions/17478645/posts-to-wordpress-sites-via-dropbox-fetch-and-reporting-the-urls 發佈的內容是_unique_爲每個網站。每篇文章我支付15美元。我今天手動完成這項工作,並且在所有擁有許多許多帖子的網站上擁有可信賴的帳戶。我每次都從相同的帳戶發佈信息,如果我會發送垃圾郵件,我不會使用相同的帳戶。 我只想要一個能讓我的工作和今天一樣完成工作的機器人,但速度更快。 –

+1

那麼你的工作值得讚揚。我的帽子給你。 :) –

回答

1

這裏是

代碼示例如何導入的.csv數據爲Javascript jQuery的時候不與 iMacros的允許?

var checksubj,scrape; 
checksubj = "CODE:"; 
checksubj += "SET !DATASOURCE example.csv" + "\n"; 
checksubj += "SET !DATASOURCE_COLUMNS 1" + "\n"; 
checksubj += "SET !DATASOURCE_LINE {{line}}" + "\n"; 
checksubj += "SET !extract {{!col1}}" + "\n"; 
iimSet("line",1); 
iimPlay(checksubj); 
scrape=iimGetLastExtract(0); 
+0

感謝您的幫助。 解決它在這裏:http://stackoverflow.com/questions/17551713/import-csv-data-into-javascript-and-run-execute-if-string-contains-data –