【问题标题】:iMacros: URL GOTO = null, skip?iMacros:URL GOTO = null,跳过?
【发布时间】:2013-07-08 06:37:15
【问题描述】:

我有很长的代码序列,用于访问网站、登录、从 .csv 发布内容并保存信息、注销并访问下一个网站。这都是硬编码

跳过部分代码的最简单方法是什么? 我有 60 个网站。示例:

现在,我不希望宏访问网站 5、6、7、9、10、22、26、35、40、45、50、59。
一小时内,我不希望宏访问网站 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 COMMAND LINE x 或其他东西! 或者只是在 col1 中输入 dasjdkaskasdasasdasg.com 并让它运行,尽管这会浪费时间。是否存在更好的解决方案?

SET !LOOP 也是一个问题。是否可以制作第一个 !SETLOOP 2 以及接下来的所有其他 !SETLOOP previous+1

最好的问候,

刘康

更新:仅通过使用 IIM 是不可能实现的。用 EVAL 尝试了很长时间以使 SETLOOP 上升,但这非常有限。 See updated comment.

评论摘要:

  • 将代码拆分为每个网站的一个 .iim 文件
  • 所有 .iim 文件都有一个唯一的 SETLOOP 并从同一个 .CSV 导入数据
  • 一个 Javascript 文件执行每个 .iim 文件
  • 正在研究使 Javascript 仅在 .CSV 中的 COL3 包含数据时才执行 .iim 文件的解决方案,现在的问题是 make the Javascript import data from the .CSV 在使用 iMacros 时不允许使用 jQuery。

【问题讨论】:

  • 只是想知道...您是否正在构建某种自动垃圾邮件机器人?
  • 我确实在创建一个发布到网站的“机器人”,但我不是垃圾邮件。请看我之前的问题stackoverflow.com/questions/17478645/… 发布的内容对于每个网站都是独一无二的。我为每篇文章支付高达 15 美元的费用。我今天手动执行此操作,并且我在所有网站上都有一个受信任的帐户,其中有很多很多帖子。我每次都从同一个帐户发帖,如果我会发送垃圾邮件,我不会使用相同的帐户。我只想要一个机器人,让我的工作与我今天的工作完全一样,但速度更快。
  • 那么你的工作值得称道。我的帽子给你了。 :)
  • 常规IIM不能这样——将代码转换成js格式,根据IF语句结果运行不同的网站代码
  • @Bestmacros 感谢您为我指明正确的方向。现在处理一个 .JS 脚本,我已经拆分了代码,所以每个网站都有自己的 .iim 文件。每个 .iim 文件从单个 .CSV 导入数据我现在必须让 .JS 脚本仅在 .CSV 在特殊行上包含数据时才运行 .iim 文件。第一个问题是,当 iMacros 不允许使用 jQuery 时,如何将 .csv 数据导入 Javascript?

标签: imacros


【解决方案1】:

这里是代码示例

在不允许使用 jQuery 时如何将 .csv 数据导入 Javascript 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);

【讨论】:

猜你喜欢
  • 2015-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-19
  • 2011-09-05
  • 1970-01-01
  • 2019-05-18
相关资源
最近更新 更多