iMacros 的正则表达式过滤器
Regex filter for iMacros
我正在尝试从 Google SERP 中抓取搜索结果计数器。它适用于 Google 电子表格、ImportXML
和 RegExReplace
,但并非总是如此,因为电子表格错误。所以我试图用 iMacros 来完成它,但无法正确过滤掉被刮掉的字符串。
在 G 电子表格中我使用
=REGEXREPLACE(IMPORTXML("https://www.google.com/search?q=test&hl=en&as_qdr=m","//div[@id='resultStats']"),".*?([0-9,]+) (w|r)esults?","")
id="resultsStats"
中的整个导入字符串是 About 4,290,000 results
这里正则表达式 .*?([0-9,]+) (w|r)esults?
过滤掉所有单词所以我只得到结果编号。正如我所说,它在电子表格中不能可靠地工作。
问题是:我如何将此 RegEx 与 iMacros 一起使用以仅获取数字?我使用这个 iMacros 代码:
VERSION BUILD=8881205 RECORDER=FX
SET !TIMEOUT_STEP 0
SET !ERRORIGNORE YES
TAB T=1
SET !DATASOURCE sr1.csv
SET !DATASOURCE_COLUMNS 1
SET !LOOP 1
SET !DATASOURCE_LINE {{!LOOP}}
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*45 + 16); randomNumber;")
URL GOTO={{!COL1}}
WAIT SECONDS={{!VAR1}}
TAG POS=1 TYPE=DIV ATTR=ID:resultStats EXTRACT=TXT
ADD !EXTRACT {{!URLCURRENT}}
SET !EXTRACT EVAL("decodeURI('{{!EXTRACT}}');")
SAVEAS TYPE=EXTRACT FOLDER=* FILE=+{{!NOW:ddmmyyyy}}.csv
做起来很简单:
' ... '
TAG POS=1 TYPE=DIV ATTR=ID:resultStats EXTRACT=TXT
SET !EXTRACT EVAL("'{{!EXTRACT}}'.match(/[0-9,]+/);")
' ... '
我正在尝试从 Google SERP 中抓取搜索结果计数器。它适用于 Google 电子表格、ImportXML
和 RegExReplace
,但并非总是如此,因为电子表格错误。所以我试图用 iMacros 来完成它,但无法正确过滤掉被刮掉的字符串。
在 G 电子表格中我使用
=REGEXREPLACE(IMPORTXML("https://www.google.com/search?q=test&hl=en&as_qdr=m","//div[@id='resultStats']"),".*?([0-9,]+) (w|r)esults?","")
id="resultsStats"
中的整个导入字符串是 About 4,290,000 results
这里正则表达式 .*?([0-9,]+) (w|r)esults?
过滤掉所有单词所以我只得到结果编号。正如我所说,它在电子表格中不能可靠地工作。
问题是:我如何将此 RegEx 与 iMacros 一起使用以仅获取数字?我使用这个 iMacros 代码:
VERSION BUILD=8881205 RECORDER=FX
SET !TIMEOUT_STEP 0
SET !ERRORIGNORE YES
TAB T=1
SET !DATASOURCE sr1.csv
SET !DATASOURCE_COLUMNS 1
SET !LOOP 1
SET !DATASOURCE_LINE {{!LOOP}}
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*45 + 16); randomNumber;")
URL GOTO={{!COL1}}
WAIT SECONDS={{!VAR1}}
TAG POS=1 TYPE=DIV ATTR=ID:resultStats EXTRACT=TXT
ADD !EXTRACT {{!URLCURRENT}}
SET !EXTRACT EVAL("decodeURI('{{!EXTRACT}}');")
SAVEAS TYPE=EXTRACT FOLDER=* FILE=+{{!NOW:ddmmyyyy}}.csv
做起来很简单:
' ... '
TAG POS=1 TYPE=DIV ATTR=ID:resultStats EXTRACT=TXT
SET !EXTRACT EVAL("'{{!EXTRACT}}'.match(/[0-9,]+/);")
' ... '