【问题标题】:Imacros - Check for duplicate value in a CSVImacros - 检查 CSV 中的重复值
【发布时间】:2017-03-27 11:51:58
【问题描述】:

火狐 - 52.0.1 iMacros - 8.9.7 视窗 10

我想知道如何检查该值是否已存在于特定 CSV 中。

假设我正在从 facebook 中提取帖子,我想确保只提取新帖子。 示例代码 - 标记 POS={{!LOOP}} TYPE=A ATTR=CLASS:POST EXTRACT=TXT

【问题讨论】:

    标签: javascript imacros


    【解决方案1】:

    假设您的 CSV 文件的名称为“fbposts.csv.txt”,并且位于“D:\iMacros\Downloads”文件夹中。您可以尝试以下解决方法作为特定解决方案:

    SET filePosts "fbposts.csv.txt"
    SET folderPosts "D:/iMacros/Downloads"
    SET urlFbPage https://www.facebook.com/...
    
    SET filePosts EVAL("{{!LOOP}} == 1 ? 'file:///{{folderPosts}}/{{filePosts}}' : 'javascript:undefined;';")
    URL GOTO={{filePosts}}
    SET extPos EVAL("{{!LOOP}} == 1 ? 1 : 0;")
    SET !ERRORIGNORE YES
    TAG POS={{extPos}} TYPE=* ATTR=* EXTRACT=TXT
    SET !ERRORIGNORE NO
    SET text EVAL("{{!LOOP}} == 1 ? '{{!EXTRACT}}' : '{{text}}';")
    SET !EXTRACT NULL
    
    SET urlFbPage EVAL("{{!LOOP}} == 1 ? '{{urlFbPage}}' : 'javascript:undefined;';")
    URL GOTO={{urlFbPage}}
    TAG POS={{!LOOP}} TYPE=A ATTR=CLASS:POST EXTRACT=TXT
    
    SET folderPosts EVAL("var reg = new RegExp('/', 'g'); '{{text}}'.indexOf('{{!EXTRACT}}') > -1 ? '' : '{{folderPosts}}'.replace(reg, '\\\\');")
    SET !ERRORIGNORE YES
    SAVEAS TYPE=EXTRACT FOLDER={{folderPosts}} FILE={{filePosts}}
    SET !ERRORIGNORE NO
    

    【讨论】:

    • 看起来很酷,你能解释一下吗,如果我有 1000 行数据,它是否有效,需要多长时间?
    • 我基本上想检查帖子的 url 是否已经存在于 csv 中,如果是,那么宏应该点击like按钮。类似的东西
    • 好吧,如果您不知道该怎么做,我建议您提出一个新问题并发布您的代码以提取网址并在此处点赞。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多