【问题标题】:When extracting HTM its doesnt save data to file提取 HTM 时,它不会将数据保存到文件中
【发布时间】:2017-02-22 18:41:12
【问题描述】:

我的代码有问题,它只从变量 id 中提取数据而没有提取标题。但是,如果我删除 id 的提取,标题正在保存,我想这可能是我提取 HTM 的问题。 有人可以解释我做错了什么吗?

var i = 1;

while(iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS='+i+' TYPE=A ATTR=CLASS:"pl-video-title-link*" CONTENT=EVENT:MOUSEOVER')>0) {

    iimPlayCode('TAG POS='+i+' TYPE=A ATTR=CLASS:"pl-video-title-link*" EXTRACT=TXT\n')
    var title = iimGetLastExtract();
    var title = title.replace(/\s+/g, '');
    iimSet('title',title);


    iimPlayCode('TAG POS='+i+' TYPE=TR ATTR=data-video-id:"*" EXTRACT=HTM\n')
    var id = iimGetLastExtract();
    var id = id.match(/data-video-id="(.+?)"/)[1];
    iimSet('id',id);

    iimPlayCode('SET !EXTRACT {{title}}\nSET !EXTRACT {{id}}\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=Output_for_Youtube_Playlist.csv\n');
    i++;
}

【问题讨论】:

    标签: imacros


    【解决方案1】:

    好的,我想通了,我忘记在正则表达式的单引号之间加空格我认为这是问题所在,我重新制作了脚本结构

    while(iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS='+i+' TYPE=A ATTR=CLASS:"pl-video-title-link*" CONTENT=EVENT:MOUSEOVER')>0) {
    
        iimPlay('Code:'
            + 'TAG POS='+i+' TYPE=A ATTR=CLASS:"pl-video-title-link*" EXTRACT=TXT\n'
            + 'TAG POS='+i+' TYPE=TR ATTR=data-video-id:"*" EXTRACT=HTM\n'
        )
    
        var title = iimGetExtract(1);
        title = title.replace(/\s+/g, ' ');
    
        var id = iimGetExtract(2);
        var id = id.match(/data-video-id="(.+?)"/)[1];
    
        saveRes = 'CODE:';
        saveRes += 'ADD !EXTRACT "'+title+'"' + '\n';
        saveRes += 'ADD !EXTRACT "'+id+'"' + '\n';
        saveRes += 'SAVEAS TYPE=EXTRACT FOLDER=* FILE=Output_for_Youtube_Playlist.csv\n';
        iimPlay(saveRes);
        i++;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-03
      • 2022-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 2014-03-19
      • 2014-12-18
      相关资源
      最近更新 更多