下载网页和相关性,包括CSS图像[关闭]


72

通常,我需要下载一个网页,然后离线对其进行编辑。我尝试了一些工具,它们缺少的主要功能是下载CSS文件中引用的图像。

是否有一个工具(用于Linux)可以下载所有内容,以便该网页可以离线呈现相同内容(不包括AJAX)?


2
wget --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names = windows-无父母example.com
Rehmat

--html-extension从v1.12开始不推荐使用。我建议这样做:wget -U "Opera 11.0" --page-requisites --content-on-error --no-clobber --convert-links --restrict-file-names=windows --no-parent "http://stackoverflow.com"将url放在双引号中非常重要,否则它将被卡住Redirecting output to ‘wget-log’.
莎燕

Answers:


92
wget --page-requisites http://example.com/your/page.html

此选项使Wget下载正确显示给定html页面所需的所有文件。这包括内联图像,声音和引用的样式表。

编辑:没错,股票wget不会解析和下载CSS图像。然而,有,,增加了该功能的补丁:[ 12 ]

更新:上述补丁已合并到wget 1.12中,于2009年9月22日发布:

** Added support for CSS. This includes:
 - Parsing links from CSS files, and from CSS content found in HTML
   style tags and attributes.
 - Supporting conversion of links found within CSS content, when
   --convert-links is specified.
 - Ensuring that CSS files end in the ".css" filename extension,
   when --convert-links is specified.

5
据我所知,这不会下载CSS文件中引用的图像,这就是OP的意图。我认为您必须编写一个解析css文件的脚本,或者找到某个人制作的脚本,不过我对此也很好奇。
meder omuraliev 09年

您应该递归下载整个目录图像
OscarRyz

似乎该补丁自07年以来一直存在,但仍未集成...
hoju

3
似乎wget 1.13.4仍然很难找到使用@import语法链接的CSS文件。
Flimm 2012年

1
@Shayan否-curl无法下载整个网页,因为它无法解析HTML:ec.haxx.se/usingcurl-downloads.html#client-differences
斧头。

11

可以通过Firefox进行此操作,请参见此表单

  1. 右键点击
  2. 查看页面信息
  3. 选择媒体标签
  4. 突出显示所有文件
  5. 另存为

参考-http: //www.webdeveloper.com/forum/showthread.php?t=212610


8
当保存css或js文件时,这无济于事
LiveSource 2013年

4
没有获得由Op指定的CSS。这是一个很酷的技巧/过程。我本来不会想到的。感谢您的发布。
BishopZ

1
它为我工作,保存了通过CSS使用的所有PNG,非常感谢。
user9349193413

3
它会下载CSS文件中引用的图像。因此,如果仅涉及图像和其他媒体,则可以。
SPRBRN

这对我非常有用,并且不需要我使用任何新工具。
2014年

9

前几天,我在为客户服务时遇到了同样的问题。另一个非常有效的工具是HTTrack。该软件在Windows和Linux的命令行版本中均可用。对于Linux,他们为此处找到的大多数较常见的操作系统预先构建了软件包。

就我的目的而言,它比wget更好,它具有一些修复了html文件内链接的附加功能/开关。


您为此任务使用什么语法?
Joe Mornin

相当完整的文档是这里的链接, 我不记得我使用的确切设置了,但是我尝试了几种不同的组合来降低我的需求。
Everette Mills

@EveretteMills,我要寻找的是感谢
Abhijit Jagtap


5

当前版本的Opera(12)允许将页面另存为“带有图像的HTML”。

因此,Opera还可以下载CSS文件中引用的图像,并相应地调整CSS中的图像URL。


在其他选项失败的情况下可以完美工作。
Rich Apodaca

@Marco我是否照常使用“右键单击->另存为...”选项?
莎妍

使用Chrome和Opera进行保存之间存在显着差异,我保存的网页的Chrome html文件和文件夹约为2MB,而Opera约为3MB。
莎燕

2

在Firefox中:

文件->将页面另存为->网页,完成

保存所有JavaScript,图片和CSS。不需要其他了:)


7
不幸的是,此方法不会下载CSS文件中引用的图像(当前最新的FF 21及更低版本)。
sgnsajgon

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.