imacros:使用 xpath 抓取 URL
imacros: Scrape URLs using xpath
这是我的代码,它抓取了 Google 搜索:
SET !LOOP 1
TAG XPATH=".//*[@id='rso']/div/div[{{!LOOP}}]/div/h3/a" EXTRACT=HREF
TAG XPATH=".//*[@id='rso']/div/div[{{!LOOP}}]/div/h3/a" EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=* FILE=google_search.txt
我该如何解决?也许整个 xpath 都是错误的。
在许多 google 搜索结果页面中,您将使用此 xpath 获得多个元素。
.//*[@id='rso']/div/div[1]/div/h3/a
或
.//*[@id='rso']/div/div[2]/div/h3/a
但是iMacros 不支持这种xpath。我有一个更好的解决方案给你。请尝试以下代码。
SET !TIMEOUT_STEP 0
SET !ERRORIGNORE YES
SET !EXTRACT_TEST_POPUP NO
SET !LOOP 1
TAG POS={{!LOOP}} TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=TXT:{{!EXTRACT}} EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER=* FILE=google_search.csv
这段代码对我来说效果很好。
这是我的代码,它抓取了 Google 搜索:
SET !LOOP 1
TAG XPATH=".//*[@id='rso']/div/div[{{!LOOP}}]/div/h3/a" EXTRACT=HREF
TAG XPATH=".//*[@id='rso']/div/div[{{!LOOP}}]/div/h3/a" EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=* FILE=google_search.txt
我该如何解决?也许整个 xpath 都是错误的。
在许多 google 搜索结果页面中,您将使用此 xpath 获得多个元素。
.//*[@id='rso']/div/div[1]/div/h3/a
或
.//*[@id='rso']/div/div[2]/div/h3/a
但是iMacros 不支持这种xpath。我有一个更好的解决方案给你。请尝试以下代码。
SET !TIMEOUT_STEP 0
SET !ERRORIGNORE YES
SET !EXTRACT_TEST_POPUP NO
SET !LOOP 1
TAG POS={{!LOOP}} TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=TXT:{{!EXTRACT}} EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER=* FILE=google_search.csv
这段代码对我来说效果很好。