下载网站并使其可搜索

是否有一个软件(除了浏览器)采用wget下载的多个页面,显示它们 – 最重要的function – 提供快速的全文搜索作为HTML(不是带有grep标签的纯文本)? 应该易于安装/设置。

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

说明 : HTTrack将网站保存到您的计算机(离线浏览器)。

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

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

在终端中安装

 sudo apt-get install httrack 

使用wget或其他任何东西正确镜像您的网站后,只需cd到下载的网页根目录并运行:

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

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

(如果您的搜索字词仅出现在网页的HTML标记中,或者更多一点。如果这对您来说是个问题,那么它也可以通过另一个过滤掉HTML标记的管道来解决。)

您可以使用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下载网页/网站的任何内容,请查看此处 。