我如何才能使完整的网站/Url 以及与 Url 关联的子页面可离线使用?
例如我想要的 android sdkjavadoc可以离线使用,这样即使没有网络我也可以随时浏览
答案1
Javadocs 是只不过生成简单的 HTML 页面。
因此,您不需要任何花哨的东西,如果您想自己查看,即使是本地浏览器也足够了。
如果您想托管它,任何能够提供静态页面的网络服务器都可以。
在哪里可以下载它?
SDK 管理器将在文档下找到它。
或者你也可以从 URL 中获取它们:
例如:
https://dl-ssl.google.com/android/repository/docs-18_r02.zip
替换数字。(相同的命名约定,因此首先尝试 docs-19_r02.zip,然后尝试 -19_r01.zip,依此类推。)
我确信某个地方有一个列表,我只是找不到它。
答案2
让 URL 离线工作的最简单的方法是在本地设置一个 Web 服务器并在那里托管文件/资源。
因此,您的计算机将充当网络服务器来提供这些内容。
答案3
为什么不使用获得? 引用自页面:
GNU Wget 是一个免费软件包为了使用 HTTP、HTTPS 和 FTP 检索文件,最广泛使用的互联网协议。它是一个非交互式命令行工具,因此可以轻松地从脚本、cron 作业、不支持 X-Windows 的终端等调用它。
GNU Wget 具有许多功能,可以轻松检索大文件或镜像整个网站或 FTP 站点,其中包括:
- 可以使用 REST 和 RANGE 恢复中止的下载
- 可以使用文件名通配符并递归镜像目录
- 适用于多种不同语言的基于 NLS 的消息文件
- 可选择将下载文档中的绝对链接转换为相对链接,以便下载的文档可以在本地相互链接
- 可在大多数类 UNIX 操作系统以及 Microsoft Windows 上运行
- 支持 HTTP 代理
- 支持 HTTP cookies
- 支持持久 HTTP 连接
- 无人值守/后台运行
- 使用本地文件时间戳来判断镜像时是否需要重新下载文档
- GNU Wget 在 GNU 通用公共许可证下分发。
我个人曾用它存储了几个网站以供离线查看。它的学习难度稍大(由于参数等原因),但它有能力做你想做的一切。
还有一个港口Windows 版 Wget,如果您没有 UNIX 机器。
对于你的任务我可能会用到如下的参数:
wget -r -p -k -np -w 1 http://developer.android.com/reference/
解释命令:
-r
- 设置递归检索(即它将获取该页面中存在的任何链接,等等)-p
- 下载页面正常浏览所需的所有内容-k
- 转换文档中的链接,使其适合本地查看-np
- 递归检索时,永远不要上升到父目录(即不要返回)-w 1
- 每次检索之间等待 1 秒。这有助于避免服务器请求过载,否则会导致 404 错误和其他问题。
参数用法采用以下形式手册。我还没有运行过这个,所以我不能肯定地说它是否会正确爬行,但经过一些调整它就可以解决问题。