我怎样才能让 wget 仅下载页面而不下载 css 图像等?

我怎样才能让 wget 仅下载页面而不下载 css 图像等?

我想使用 wget 下载整个网站,但我不想使用 wget 下载图像、视频等。

我试过

wget -bqre robots=off -A.html example.com –user-agent=”Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6″

但是当我这样做时,它不会下载.php 文件,而只是下载静态.html 文件。

有没有什么办法可以用 wget 来解决此问题?

答案1

您已明确告诉 wget 仅接受带有.html后缀的文件。

假设 php 页面有.php,你可以这样做:

wget -bqre robots=off -A.html,.php example.com –user-agent=”Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6″

请注意,这将下载渲染后的 html,而不是 php 源代码。如果页面足够动态,您可能无法获得预期的渲染结果。

不过,我建议使用另一种工具,例如追踪可能会做得更好——这取决于你到底需要做什么。

答案2

-A 接受列表,因此 -A.html,.php 应该符合要求。您还应该查看 -R(它也接受拒绝列表)。

答案3

是的,有,而且很简单。看看这个 SO 答案:https://superuser.com/questions/709702/how-to-crawl-using-wget-to-download-only-html-files-ignore-images-css-js

tl/dr;使用--follow-tags=a仅跟随a标签。

相关内容