下载特定区域页面上链接的所有页面

下载特定区域页面上链接的所有页面

我想下载我的该 Unix&Linux 用户活动页面以及wget活动列表中链接的所有页面。

我试过

wget -m -l 2 

它应该递归地镜像站点,但递归深度只有最大一级,但这不是一个好的解决方案。特别是样式表未正确下载。

是否有一种解决方案可以下载所有需要的 CSS 和图像,并在本地保持这些问题之间的链接完整?一个完美的解决方案是,如果在这些下载的问题上显示所有内容都完好无损,即评论等。

有关的:

答案1

像这样的东西httrack会做你想做的事。

$ httrack \
    'http://unix.stackexchange.com/users/20661/rubo77?tab=activity&sort=all' \
    -* +*question* -r2

这不会继续超过该页面的分页第一页。您可能会修改它,以便它可以。它也可以在分页页面中循环。

上面下载了2个级别( -r2)并忽略所有不包含路径的页面*question*

对这种方法的评论

对于这种类型的下载,您可能需要运行几次更复杂的命令才能确定您已获得将页面保留在本地所需的所有内容。不过不用担心,您可以继续httrack在同一目录中运行,它会检测到它已经下载了各个部分,然后跳过它们,或者在适当的情况下更新它们。

笔记:这是我们使用的方法的副产品,我们使用 明确排除了所有内容-*,然后有选择地将内容添加回了+...。你总是可以把网撒得更广并告诉httrack你下载更多,但随后你也会拉入更多的数据。

迭代下载

例如,在这里,当我识别出想要将其下拉的其他文件时,我会多次运行它。

运行#1
$ httrack \
    'http://unix.stackexchange.com/users/20661/rubo77?tab=activity&sort=all' \
    -* +*question* +*sstatic.net* -r2 

There is an index.html and a hts-cache folder in the directory 
A site may have been mirrored here, that could mean that you want to update it
Be sure parameters are ok

Press <Y><Enter> to confirm, <N><Enter> to abort
Y
Mirror launched on Fri, 07 Nov 2014 14:01:35 by HTTrack Website Copier/3.48-19 [XR&CO'2014]
mirroring http://unix.stackexchange.com/users/20661/rubo77?tab=activity&sort=all -* +*question* +*sstatic.net* with the wizard help..
Done.: unix.stackexchange.com/questions/163334/connecting-to-irc-and-log-all-conversations (62646 bytes) - OK
Thanks for using HTTrack!
运行#2
$ httrack \
    'http://unix.stackexchange.com/users/20661/rubo77?tab=activity&sort=all' \
    -* +*question* +*sstatic.net* +*googleapis* -r2 

There is an index.html and a hts-cache folder in the directory 
A site may have been mirrored here, that could mean that you want to update it
Be sure parameters are ok

Press <Y><Enter> to confirm, <N><Enter> to abort
Y
Mirror launched on Fri, 07 Nov 2014 14:03:05 by HTTrack Website Copier/3.48-19 [XR&CO'2014]
mirroring http://unix.stackexchange.com/users/20661/rubo77?tab=activity&sort=all -* +*question* +*sstatic.net* +*googleapis* with the wizard help..
Done.: unix.stackexchange.com/questions/163334/connecting-to-irc-and-log-all-conversations (62646 bytes) - OK
Thanks for using HTTrack!

在上面我发现 Stack Exchange 使用 GoogleAPI,因此我需要将其添加到过滤器链中,以便也httrack知道从该站点下载文件。

我通常要么grep查看文件以确保拥有所有内容,要么使用网络浏览器的“查看源代码”功能来查看哪些 URL 仍然来自其他站点,而不是我的本地系统。

笔记:您可以使用 Chrome 在 Chrome 中打开下载的结果file:///path/to/httrack/download/index.html,并导航内容。

参考

答案2

您可以使用一个名为(在 Windows 上)的软件black widow:它有一个 GUI,可以将网站的部分内容下载到硬盘上。

黑寡妇

相关内容