gpt4 book ai didi

web-scraping - iMacro - 设置变量 + 另存为 CSV

转载 作者:行者123 更新时间:2023-12-04 04:50:02 24 4
gpt4 key购买 nike

我正在为我的 iMacro 脚本的 2 个部分寻求帮助...

Part1 - Variable

我正在单击页面的下一行以访问我需要从中提取的页面。

第一个链接

TAG POS=**8** TYPE=A FORM=NAME:xxyy ATTR=HREF:https://aaa.aaaa.com/en/administration/xxxx.jsp?reqID=h*

第二个链接

TAG POS=**9** TYPE=A FORM=NAME:xxyy ATTR=HREF:https://aaa.aaaa.com/en/administration/xxxx.jsp?reqID=h*

标记 pos 是变量,我怎样才能得到它以便在循环运行时,宏将选择屏幕上的下一个值(即选择 8、9、10)?有些屏幕有 100 多个链接可供点击。

第 2 部分 - 保存 CSV 文件

我的文件中有 saveas 行。但是我怎样才能做到只创建 1 个 csv 文件(即使宏运行了 50 次)?此外,是否有一种方法可以格式化 iMacros 中的 CSV 文件,以便每次新运行都从另一行开始(目前,所有数据都提取到多列的第 1 行。)

提前谢谢你,

亚当

最佳答案

这将按照您的要求进行。它会循环宏,每次都在宏中设置新的位置编号。

1)

    var macro;

macro ="CODE:";
macro +="TAG POS={{number}} TYPE=A FORM=NAME:xxyy ATTR=HREF:https://aaa.aaaa.com/en/administration/xxxx.jsp?reqID=h*"+"\n";


for(var i=1;i<100;i++)
{

iimSet("number",i)
iimPlay(macro)

}

对于第二部分的解决方案,您将需要 JavaScript 脚本。第一部分是声明宏,第二部分是启动宏,第三部分是将提取的文本保存到文件中的函数。每次运行它都会保存在新行中。

2)

var macroExtractSomething;

macroExtractSomething ="CODE:";
macroExtractSomething +="TAG POS=1 TYPE=DIV ATTR=CLASS:some_class_of_some_div EXTRACT=TXT"+"\n";



iimPlay(macroExtractSomething)
var extracted_text=iimGetLastExtract();

WriteFile("C:\\some_folder\\some_file.csv",extracted)




//This function writes string into a file. It will also create file on that location
function WriteFile(path,string)
{

//import FileUtils.jsm
Components.utils.import("resource://gre/modules/FileUtils.jsm");
//declare file
var file = new FileUtils.File(path);

//declare file path
file.initWithPath(path);

//if it exists move on if not create it
if (!file.exists())
{
file.create(file.NORMAL_FILE_TYPE, 0666);
}

var charset = 'EUC-JP';
var fileStream = Components.classes['@mozilla.org/network/file-output-stream;1']
.createInstance(Components.interfaces.nsIFileOutputStream);
fileStream.init(file, 18, 0x200, false);
var converterStream = Components
.classes['@mozilla.org/intl/converter-output-stream;1']
.createInstance(Components.interfaces.nsIConverterOutputStream);
converterStream.init(fileStream, charset, string.length,
Components.interfaces.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);

//write file to location
converterStream.writeString("\r\n"+string);
converterStream.close();
fileStream.close();


}

关于web-scraping - iMacro - 设置变量 + 另存为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14677247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com