网页抓取解密(把html转换得到的二进制放在博客里打开网页时的算法)
优采云 发布时间: 2022-01-29 06:15网页抓取解密(把html转换得到的二进制放在博客里打开网页时的算法)
经常发现我的博客被一些垃圾网站爬取,我访问的时候对博客进行加密解密,所以爬虫不执行js就无法获取内容。这篇文章告诉你如何加密你的博客。
加密使用将文章内容转换为Html,然后转换为base64,加载后再将base64转换为html,该方法可以解密文章。
文章 的摘要可以不加密,但 文章 的内容可以使用这种方法加密。
我使用 Pandoc 转换 html,推荐使用此方法。然后将我的文章转换后的html转base64转成图片在线解码编码得到base64。然后把这段代码放在一个div里面,在页面加载的时候转成html
我把js放在最后文章,你可以复制到自己的博客,你只需要把转换后的html代码放在下面的div中
base64
加载页面时将 base64 转换为 html。
这时候你会发现打开页面可以看到base64,所以可以先隐藏,设置css隐藏src,请看下面代码
.src
{
display: none;
}
关键js代码
<p> $(document).ready(function()
{
var src = document.getElementsByClassName('src');
for (var i = 0; i 2);
out += base64EncodeChars.charAt((c1 & 0x3) 2);
out += base64EncodeChars.charAt(((c1 & 0x3) 4));
out += base64EncodeChars.charAt((c2 & 0xF) 2);
out += base64EncodeChars.charAt(((c1 & 0x3) 4));
out += base64EncodeChars.charAt(((c2 & 0xF) 6));
out += base64EncodeChars.charAt(c3 & 0x3F);
}
return out;
}
function base64decode(str) {
var c1, c2, c3, *敏*感*词*;
var i, len, out;
len = str.length;
i = 0;
out = "";
while(i > 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return out;
}
function utf8to16(str) {
var out, i, len, c;
var char2, char3;
out = "";
len = str.length;
i = 0;
while(i > 4)
{
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
// 0xxxxxxx
out += str.charAt(i-1);
break;
case 12: case 13:
// 110x xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x1F)