下载网站并使其可搜索

下载网站并使其可搜索

有没有一种软件(除了浏览器之外)可以获取用 下载的多个页面wget,显示它们,并且——最重要的功能——提供以 HTML 格式的快速全文搜索(而不是像 grep 那样带有标签的纯文本)?应该很容易安装/设置。

答案1

为了镜像网站我喜欢使用httrack而不是wget使用递归检索选项

描述HT轨道将网站保存到您的计算机(离线浏览器)。

HTTrack 是一个离线浏览器实用程序,允许您从互联网下载全球网站到本地目录,递归构建所有目录,将 html、图像和其他文件从服务器获取到您的计算机。

HT轨道安排原始网站的相对链接结构只需在浏览器中打开“镜像”网站的页面,然后你可以从一个链接到另一个链接浏览网站,就像您在线查看一样。HTTrack 还可以更新现有的镜像站点,并恢复中断的下载。HTTrack 完全可配置,并具有集成的帮助系统。

安装在终端中:

sudo apt-get install httrack

答案2

在您使用wget或其他任何工具正确镜像您的网站后,只需进入下载的网页根目录并运行以下命令:

find . -iname "*.htm*" -exec grep -l "WHAT_YOU_ARE_SEARCHING_GOES_HERE" {} + | xargs -d "\n" firefox

然后 Firefox 将打开所有包含您的搜索的页面。

(或者如果您的搜索词仅出现在网页的 HTML 标签中,则需要更多时间。如果这对您来说是一个问题,那么也可以通过另一个管道来解决,该管道会过滤掉 HTML 标签。)

答案3

您可以使用 grep,但将输出通过管道传输到网页中,这样就可以理解为最多标签将被删除,例如:

grep -d recurse 'SEARCH-TERM' /PATH/TO/FOLDER/WITH/WEBPAGE-FILES > OUTPUT.html

这会删除大部分标签和内容,尽管它会被裁剪为单独的行,因此您可以使用该-C选项来显示搜索结果的一些上下文。:

grep -d recurse -C 5 'SEARCH-TERM' /PATH/TO/FOLDER/WITH/WEBPAGE-FILES > OUTPUT.html

其中 5 是每个方向的线数,以便为搜索结果提供更多上下文。

有关更多选项,请参阅man grep

确实,网络浏览器是搜索网页的最佳工具——我想不出其他更好的工具了

哦,为了确保您只搜索网页(扩展名为 .htm 或 .html):

find . -name "*.htm*" -exec grep -d recurse -C 5 'SEARCH-TERM' /PATH/TO/FOLDER/WITH/WEBPAGE-FILES > OUTPUT.html

此外,为了改善任何带有 的网页/网站的下载wget,请查看这里

相关内容