如何在网站上找到所有(可能是相对的)网址?

How to find all (possibly relative) urls on a website?

作为编程练习,我正在制作一个 python 小工具来在本地下载整个网站。为了能够在本地浏览网站,我需要将所有 URL 翻译成相关的 URL。否则,资源文件 (.js, .css) 将从原始网站下载,而不是使用本地下载的版本。由于我需要重写 URLs,我想我也可以更改文件层次结构。这就引出了这个稍微更笼统的问题:

如何找到网站中的所有 URL? 基于 http://domain.tld/path 的正则表达式不会被删除,因为 href 属性可能包含相对 URL.

到目前为止,我已经确定了以下内容:

HTML

CSS

JS

[编辑] 另请参阅 this post 以了解一些用于查找 url 的正则表达式。不完整,因为那里没有使用 srcset

也许是一个好的开始?

mech-dump --links '

检索:

  • 邮寄到
  • http(s) 个链接
  • 图片

此命令随 module: WWW::Mechanize

一起安装

基于 Debian 的发行版的软件包 libwww-mechanize-perl