网页抓取 加密html(把html转换得到的二进制进行加密把上面加密的内容转换)
优采云 发布时间: 2022-03-08 23:18网页抓取 加密html(把html转换得到的二进制进行加密把上面加密的内容转换)
经常发现我的博客被一些垃圾网站爬取,我访问的时候对博客进行加密解密,所以爬虫不执行js就获取不到内容
这篇文章告诉你如何加密你的博客
加密使用Convert 文章 content to Html and then convert to base64 and then convert base64 to html after loading,这种方法可以解密文章。
文章 的摘要可以不加密,但 文章 的内容可以使用这种方法加密。
我使用 Pandoc 转换 html,推荐使用此方法。然后将我的文章转换的html转base64转成图片在线解码编码得到base64。然后把这段代码放在一个div里面,在页面加载的时候转成html
我将js放在文章的末尾,你可以复制到自己的博客,你只需要把转换后的html代码放在下面的div中
1
2base64
3
4
5
加载页面时将 base64 转换为 html。
这时候你会发现打开页面可以看到base64,所以可以先隐藏,设置css隐藏src,请看下面代码
1.src
2{
3 display: none;
4}
5
6
关键js代码
<p>1 $(document).ready(function()
2 {
3 var src = document.getElementsByClassName('src');
4 for (var i = 0; i 2);
24 out += base64EncodeChars.charAt((c1 & 0x3) 2);
32 out += base64EncodeChars.charAt(((c1 & 0x3) 4));
33 out += base64EncodeChars.charAt((c2 & 0xF) 2);
39 out += base64EncodeChars.charAt(((c1 & 0x3) 4));
40 out += base64EncodeChars.charAt(((c2 & 0xF) 6));
41 out += base64EncodeChars.charAt(c3 & 0x3F);
42 }
43 return out;
44}
45
46function base64decode(str) {
47 var c1, c2, c3, c4;
48 var i, len, out;
49
50 len = str.length;
51 i = 0;
52 out = "";
53 while(i > 6) & 0x1F));
111 out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
112 }
113 }
114 return out;
115}
116
117function utf8to16(str) {
118 var out, i, len, c;
119 var char2, char3;
120
121 out = "";
122 len = str.length;
123 i = 0;
124 while(i > 4)
127 {
128 case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
129 // 0xxxxxxx
130 out += str.charAt(i-1);
131 break;
132 case 12: case 13:
133 // 110x xxxx 10xx xxxx
134 char2 = str.charCodeAt(i++);
135 out += String.fromCharCode(((c & 0x1F)