网站源码分享html免费 免费网站源码 教程网

大家好,感谢邀请,今天来为大家分享一下网站源码分享html免费的问题,以及和教程网的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

把网页下载下来使用,在日常工作中使用频率还是很高的,有时候确实能解一时之急,我自己就有很窘迫的经历。

我开会的时候,都会把准备好的文档存在局域网,到会议室直接打开就能直接用了。有一次到分公司,由于分公司刚刚成立,内网还没有和母公司连通。结果这下子懵逼了,上不去内网,看不到文档。又是叫同事发过来,又是提发送文件的安全申请,让人着急。

如果把网站保存下来,放在自己的电脑中,既不用担心信息泄露问题,又不用为了看不了文档而着急。

遇到问题,记录下来,然后解决问题,程序员的解决思路永远是自己创造轮子的,接下来就是不断的探索解决方案。

其实下载网页的方式有很多种,其中有几种办法使用的比较多,例如:如果你用Chrome,直接按Ctrl+s就可实现。使用这种方法,Chrome会把整个网站,按照编译完成的源码目录结构保存下来。像下面这样:

下载完成的文件直接点击xxx.html可以直接离线访问,但是这种方式对目录的依赖结构比较高,怎么理解呢?就是html文件和对应文件名的文件夹必须在同一个目录中,才能正常使用。拷贝到其他机器的时候必须要两个同时拷贝才可以,否则就会排版错乱。

如果有十个或者更多的网页需要拷贝或者删除,就会很麻烦,例如我想在其中找到其中几个,复制到其他地方,很容易弄错顺序。

HTML是一种纯文本格式,它用于排版文字。纯文本文档的意思就是,文档中只包含文字内容,不包含二进制内容,举个例子:打印出的A4纸,只有文字没有图片。而HTML想要显示照片等二进制信息,通常都会链接到其他文件,也就是上面文件夹里面的内容。

不过Chrome下载文件这种方式也有优点,下载下来的文件可以保持独立性,比如说,我需要这个网页中的一张图片,那么就可以直接到文件夹里面寻找了。

另外还有一种办法,也有很多人再使用。Chrome在打印网页的时候,会把网页转成PDF,然后在进行打印。那么就给我们提供了很明确的思路,把网页直接保存为PDF,这样保存下来的网页就只有一个文件。

使用Chrome,直接按下Ctrl+p就可以。然后目标打印机选择另存为PDF。

这个功能很多浏览器都支持

但是这种办法也有很明显的缺点,由于PDF是静态文档,网页上的一些动画可能不会正常显示,而且排版也有可能会错乱,这完全靠运气。个人觉得这不是一种很靠谱的方法。

这时候主角来了!有一个工具既可以把网页保存为html又可以保持是单文件。他就是monolith,你可以在github上面找到它,但是源码并没有编译为可执行文件,我把它编译了一下,下面会放上来链接,https://github.com/leconio/Repos/raw/master/monolith.7z。

那么下面就简单说说使用方法:如果你下载我的链接,那么里面有三个文件:

第一个是Mac平台编译出来的,使用方式为:

./monolith网站地址>xxx.html\n

默认情况下monolith会把生成的html输出到标准输出流,也就是当前终端。使用>我们把输出的内容重定向并覆盖到文件。

执行完成之后,在这个目录下面就会有一个对应的文件:xxx.html。

另外两个是Windows平台使用的。为了简化使用,我写了一个CMD脚本。直接点击monolith.cmd,然后粘贴地址就可以完成下载。

下载完成之后,在本地你会发现只有一个html文件。我们打开之后,发现图片和JS等信息都在,而且排版正常。那么就要思考了,我们之前说过,HTML是放置纯文本信息的,那么图片在哪里呢?

答案显而易见,就在HTML文件里面。为了方便小图片传输,有一种叫Base64的东西,它可以把二进制信息变成成纯文本。这在使用Json传递数据的今天十分常见,它可以减少一次请求(题外话),这里就是用的这个原理。monolith把图片等二进制内容转为了纯文本,保存在HTML文件中。我们在下载的文件源码可以看到:

对比源代码,src信息已经变成了base64格式的图片,就是那串乱码。复制那串乱码,从网上搜一个base64转图片工具,粘贴进去,这时会发现就是我们看到的那张图片。这样一来,无论这个网站上有多少个文件,都会保存到一个HTML文件里面,而且还能离线使用。

当然,base64编码的图片比原生图片略大,这可能也是你现在在担心的问题。不过monolith会特殊处理文件体积。我们可以看看Chrome直接下载和使用monolith下载体积相差多少。我们把两种方式下载的网页都进行了7-Zip压缩。

我们可以看到,使用monolith下载会比Chrome直接下载小一倍还多!

最后要说的是局限性,无论那种方法,都几乎不能把视频网站中的视频下载下来。因为现在的视频地址都是Token加密的,同理,使用Token加密的其他请求信息也无法下载。

比如你可以试试下载其他网站的首页,Logo和视频都是下载不了的。但是也有解决办法,那就是另外一个领域的事情了,以后有机会说给大家听。

如果这篇文章对您或者您的朋友有帮助,感谢您关注,转发。

网站源码分享html免费和教程网的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平