应用程序对链接到某些指定 html 页面的所有页面进行正则表达式搜索

应用程序对链接到某些指定 html 页面的所有页面进行正则表达式搜索

我使用的是 Windows 8 计算机,从 HTML 页面开始,我想自动检索该页面上与正则表达式匹配的每个链接的文本内容。然后必须在检索到的内容中搜索另一个正则表达式,并在表格中列出所有匹配项,以及找到匹配项的 URL。

目前我只是使用浏览器搜索框单独搜索每个 URL。

我看不出有任何方法可以用任何浏览器中提供的工具来实现这一点。我知道我可以编写一个脚本,但我想可能已经有一个应用程序(或其他人编写的脚本)可以做到这一点。

答案1

今天我感觉就像你的Mechanical Turk,所以我写了几行 bash 脚本。

获取 $MAINPAGE 中的所有链接:

wget $MAINPAGE -O - | sed 's%<a%\n&%g' | sed 's%.*href=["\']%["\'].*%'

循环遍历它们并搜索正则表达式:

for LINK in $(wget $MAINPAGE -O - | sed 's%<a%\n&%g' | sed 's%.*href=["\']%["\'].*%'); do
  # abort grepping after first match and return the
  # count (number of matches, which is then 0 or 1),
  # if count > 0 then print the LINK url.
  if [ $(wget $LINK -O - | grep -c -m 1 -e 'I_AM_A_REGEX') -gt 0 ]; then
    echo $LINK
  fi
done

附言:未经测试!

相关内容