2017-05-31 7 views
0

私はimacrosプログラムのキーワードを入力としてCSVファイルを使用しています。私は列だけを読み込み、必要な検索出力を生成することができます。プログラムが行を読み込むようにしたい。入力は、行と列がすべて (1,2)、(1,3)、(1,4)の形式で入力されなければならない入れ子のforループのように読み込まなければなりません。 (1、n) (2,3)、(2,4)................(2、n)など。 このようにしてimacrosで入力ファイルを読むことは可能ですか、これには他の方法があります。imacrosのネストされたforループ形式のプログラミングのためにCSVファイルからキーワードを読み込みます

これは、キーワードを使用して情報をスクラップし、解析された情報を別のファイルに保存する私のプログラムです。しかし、私は行と列の両方を使用して、一度に複数のキーワードを入力したい。

'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

Q:「python」タグを入れたのはなぜですか? – paulsm4

答えて

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}} 

はどのようにこのマクロ作品を試してみて、あなたにそれを調整します。

関連する問題