我正在使用CSV文件作为输入,并为我的imacros程序提供关键字。我只能读取列并生成我需要的搜索输出。我希望程序甚至可以读取行。必须像嵌套的for循环软件一样读取输入,每个行和列必须以表格形式输入 (1,2),(1,3),(1,4)..........(1,n)的 (2,3),(2,4)................(2,n)等。 是否可以用这种方式用imacros读取输入文件,或者还有其他替代方法。
这是我的程序,它使用关键字擦除信息并将解析的信息保存在另一个文件中。但是,我想同时使用行和列,并一次输入多个关键字。
'VERSION BUILD=9030808 RECORDER=FX
TAB T=1
set !extract_test_popup no
set !replayspeed fast
set !timeout_page 200
SET !ERRORIGNORE YES
SET !TIMEOUT_STEP 2
SET !Datasource keyword.CSV
Set !Loop 1
Set !Datasource_Line {{!Loop}}
URL GOTO=https://twitter.com/search-advanced
wait seconds=1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:ands CONTENT=
{{!COl1}}
TAG POS=1 TYPE=BUTTON FORM=NAME:NoFormName ATTR=TXT:Search
wait seconds=1
ADD !EXTRACT {{!URLCURRENT}}
Set url {{!Extract}}
Set !Extract Null
'Keyword Scrape
Tag pos=1 type=h1 attr=class:SearchNavigation-titleText* Extract=Txt
Set key {{!Extract}}
Set !Extract Null
'Main Heading Scrapping
Tag pos=1 type=a attr=class:AdaptiveNewsLargeImageHeadline-title*
Extract=Txt
Set mainheading {{!Extract}}
Set !Extract Null
'Main heading URL
Tag pos=1 type=a attr=class:AdaptiveNewsLargeImageHeadline-title*
Extract=href
Set mainheadingurl {{!Extract}}
Set !Extract Null
'Date of Post
Tag pos=1 type=a attr=class:AdaptiveNewsHeadlineDetails-date<sp>js-nav*
Extract=txt
Set date {{!Extract}}
Set !Extract Null
'Username whose post this article
TAG XPATH=//*[@id="page-
container"]/div[2]/div/div/div[2]/div/div[2]/div/div[2]/div[2]/div[1]/a/span
Extract=Txt
Set username {{!Extract}}
Set !Extract Null
'extract user name
TAG POS=1 TYPE=A ATTR=TXT:@* EXTRACT=TXT
Set username1 {{!Extract}}
Set !Extract Null
Add !Extract {{mainheading}}
Add !Extract {{date}}
Add !Extract {{mainheadingurl}}
ADD !EXTRACT {{url}}
Add !Extract {{username}}
Add !Extract {{key}}
Add !Extract {{username1}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=test1_output.csv
clear'
答案 0 :(得分:0)
我在这里修改了one of my codes:
' max column number in the CSV '
SET maxCol 3
' fake delimiter '
SET !DATASOURCE_DELIMITER "!"
' real delimiter '
SET rd ","
SET !DATASOURCE Address.csv
SET curRow EVAL("Math.floor(({{!LOOP}} - 1) / {{maxCol}}) + 1;")
SET curCol EVAL("({{!LOOP}} % {{maxCol}} == 0) ? {{maxCol}} : {{!LOOP}} % {{maxCol}};")
SET !DATASOURCE_LINE {{curRow}}
SET kw EVAL("'{{!COL1}}'.split('{{rd}}')[{{curCol}} - 1];")
PROMPT {{curRow}}_{{curCol}}_{{kw}}
尝试使用此宏并将其调整为您的宏。