专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

怎么克隆网站,克隆网站教程

来源:小易整编  作者:小易  发布时间:2023-03-23 10:00
摘要:怎么克隆网站,克隆网站教程可能有时我们会希望将整个静态网站克隆至本地,比如在一个纯内网或离线环境中阅读当前最新的SpringFrameworkv6.0.6的官方文档[1]。HTTrackHTTrack[2]就是这样一个工具,能够以一个URL...

怎么克隆网站,克隆网站教程

怎么克隆网站,克隆网站教程

可能有时我们会希望将整个静态网站克隆至本地,比如在一个纯内网或离线环境中阅读当前最新的 Spring Framework v6.0.6 的 官方文档[1]。

HTTrack

HTTrack[2] 就是这样一个工具,能够以一个 URL 为入口,将其中包含的几乎全部(深度 9999)静态资源都抓取回来,并将包含该站点的链接修改为相对链接,以便于在本地进行导航浏览。

完成首次克隆后,还可以再次执行进行更新,实现对站点的定时镜像。

在 HTTrack 的 Download[3] 页面选择适合的版本安装后,即可在命令行中使用。

Quick Start

HTTrack 有丰富的参数以支持强大的功能,最简单的用法为 httrack url,如:

$ httrack https://www.httrack.com/

便可将 HTTrack 的官方网站克隆至本地当前路径下。

默认情况下只镜像给出的 URL 站点内的链接,并将站内链接修改为相对路径,便于本地导航。跳转至其他域名的地址不会克隆。

基本语法

HTTrack 的基本语法为:

httrack <url> [-<option>] [+] [-]

-<option> 指定选项,+/- 过滤需要和不需要的内容。选项和过滤器均可根据需要添加多个。

选项

不指定任何选项时,会使用默认配置。在 man httrack 中所有标 * 的选项均为默认配置:

w *mirror web sites %f *use proxy for ftp (f0 don't use)  cN number of multiple connections (*c8)  RN number of retries, in case of timeout or non-fatal errors (*R1) %P *extended parsing, attempt to parse all links, even in unknown tags or Javascript (%P0 don't use)  NN  name conversion type (0 *original structure, 1+: see below)  LN  long names (L1 *long names / L0 8-3 conversion)  K   keep original links (e.g. http://www.adr/link) (K0 *relative link)  o *generate output html file in case of error (404..) (o0 don't generate)  X *purge old files after update (X0 keep delete)  bN  accept cookies in cookies.txt (0=do not accept,* 1=accept)  u check document type if unknown (cgi,asp..) (u0 don't check, * u1 check but /, u2 check always)  j *parse Java Classes (j0 don't parse)  sN  follow robots.txt and meta robots tags (0=never,1=sometimes,* 2=always)  C  create/use a cache for updates and retries (C0 no cache,C1 cache is prioritary,* C2 test update before)  f *log file mode  I *make an index (I0 don't make)  pN priority mode: (* p3)  *3 save all files  D  *can only go down into subdirs  a  *stay on the same address  --mirror       *make a mirror of site(s) (default)

—— 引自 Httrack Users Guide (3.10)[4]

例:

# 镜像 http://www.shoesizes.com # 至本地 /tmp/shoesizes 路径, # 镜像深度为 50(默认深度 9999) $ httrack http://www.shoesizes.com \ -O /tmp/shoesizes -r50

过滤器

过滤器一般放在命令的尾部,但也可以与选项混在一起使用,但注意不要放在需要参数的选项和参数中间。

以使用 www.all.net/test/a.html 为例,所有 www.all.net/test/ 开头的链接都会被克隆,其他如 www.all.net/anything-else 则不会,因为这是更高一级的目录结构,默认情况下,只会镜像给定路径的下级目录结构中的内容。

在默认情况之外,想要包含(+)或排除(-)指定链接或特定类型文件时,可使用下列语法:

语法含义
*任意字符
*[file] or *[name]任意文件或任意名称
*[path]任意路径(及文件名)
*[a,z,e,r,t,y]a,z,e,r,t,y 中任意字母
*[a-z]任意字母
*[0-9,a,z,e,r,t,y]0 至 9 及 a,z,e,r,t,y 中任意字母
*[]之后没有任意字符
*[< NN]大小小于 NN Kbytes
*[> PP]大小大于 PP Kbytes
*[< NN > PP]小于 NN Kbytes 并且大于 PP Kbytes

越靠后的过滤条件具有越高的优先级。

例:

过滤条件含义
+*.com/*包含所有带有 .com 的链接
+*.com/*[path].zip包含 .com 地址下的所有 zip 文件
+*.html*[]包含 *.html,但不包含如 www.all.net/index.html?page=10 的地址
-*.gif*[> 5] -*.zip +*.zip*[< 10]排除所有大于 5KB 的 gif 文件,排除所有 zip 文件,但包含小于 10KB 的 zip 文件

动态生成的元素中的链接

HTTrack 功能强大,但对于动态生成的内容中的链接也没什么好方法。

当克隆至本地的内容与源站差异较大时,需要结合实际情况进行分析,可以查看执行 httrack 命令后生成的 hts-log.txt 及 hts-err.txt 文件,或直接查看入口地址文件源码,查找问题原因。

比如使用 Axure 制作的原型导出的 html 格式内容,是由脚本在指定元素中动态创建的目录结构,每个节点对应一个 html 页面。

这时可以先使用 httrack 将站点框架克隆下来,获得那些未自动探测到的页面链接后,再使用 HTTrack 或 Wget[5] 将这部分内容下载回来作为补充。

wget -r <url> 同样可以将指定路径及相关链接内容下载至本地,默认最大深度为 5。

下面这段神秘代码,在 Axure 生成的 html 页面的 Console 中执行,可以获得到目录中所有页面的链接相对路径:

let links=''; $('.sitemapPageLink').each((i,e) => {  links += e.getAttribute('nodeurl') + '\r\n'; }); console.info(links);


本文地址:IT问答频道 https://www.hkm168.com/itwenda/936996.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小易整编
相关文章相关阅读
  • PHP中的电商网站开发指南

    PHP中的电商网站开发指南

    随着电子商务的兴起和发展,电商网站成为了许多企业和个人创业者的重要选择。而php作为一种广泛应用于web开发的服务器端脚本语言,也因其易学易用和强大的功能而逐渐成为了电商网站开发的主要选择之一。本文将从以下几个方面介绍php中的电商网站开发...

  • 十五个比较流行的国外PHP学习网站

    十五个比较流行的国外PHP学习网站

    随着互联网的迅速发展,程序员的数量在不断增多,现在很多人都选择了去培训机构学习php。除此之外现在的php学习网站也特别的多,在线教程永远都受到欢迎,所以本文列出15个国外学习php的好网站,分享给大家。这些php网站包括很多的在线教程。列...

  • 怎么克隆github代码

    怎么克隆github代码

    在近年来的软件开发中,github已经成为程序员们必不可少的在线代码托管平台之一。对于一些相同或类似的项目,从头开始编写代码费时费力,此时借鉴或重复利用已有的代码就成为了一种常见的方式。本文将介绍如何从github上克隆代码。一、了解Git...

  • 用PHP开发一款实用的招聘网站

    用PHP开发一款实用的招聘网站

    随着互联网的飞速发展和人们对职业发展的追求,招聘网站成为了求职者和招聘方之间最为直接和高效的沟通平台。而PHP作为一种广泛应用于web开发的脚本语言,其灵活性和强大的功能使得它成为开发招聘网站的理想选择。本文将介绍如何使用PHP开发一款实用...

  • 怎么打开404网站

    怎么打开404网站

    打开404网站的方法:1、根据自己的喜好选择一个浏览器进行操作;2、需要知道一个404网站的url地址,或者在搜索引擎中搜索“404网站列表”或者“随机url生成器”,找到一些404网站的地址;3、在浏览器的地址栏中输入该地址,然后按下回车...

  • 怎么建立一个网站

    怎么建立一个网站

    建立一个网站的方法:1、购买域名;2、购买空间;3、实名认证;4、建站程序;5、网站内容;6、网站备案。其实建立一个自己的网站很简单,难是难在很多小伙伴不知道建立网站流程和所需要的东西,可能在一开始建立的时候有点陌生,等你亲自购买所需要的材...

  • 如何利用PHP-FPM优化提高OsCommerce网站的性能

    如何利用PHP-FPM优化提高OsCommerce网站的性能

    如何利用PHP-FPM优化提高OsCommerce网站的性能引言:OsCommerce是一种广泛应用的开源电子商务平台,但随着网站流量的增加和业务的复杂性提高,性能问题也成为了一个亟待解决的挑战。在这篇文章中,我们将重点讨论如何利用PHP-...

  • 简述PHP可以开发动态网站的原因

    简述PHP可以开发动态网站的原因

    随着现代社会的快速发展,网络的应用已经渗透到了我们的生活的各个方面。而网站作为网络世界的重要组成部分之一,更是成为了企业宣传产品、展示企业形象、提供各种信息服务等的重要工具。为了满足市场需求,网站的开发越来越多地采用了动态网站的技术,而ph...

  • 周排行
  • 月排行
  • 年排行

精彩推荐