采用Iframe解决微信图片防盗链‘此图片来自微信公众平台未经允许不可引用’问题

采用Iframe解决微信图片防盗链‘此图片来自微信公众平台未经允许不可引用’问题

最近使用微信公众号爬虫遇到临时链接过期问题,查了各种博客及论坛,好多方法都已经不能用了,目前能用的就是新榜的一个临时链接转永久链接,但需要个人微信登陆,并且效率比较慢,与其这样问什么不把网页直接保存下来呢?于是乎将爬下来的文章网页存了下来,文本及排版正常显示,但图片无法显示,提示“此图片来自微信公众平台未经允许不可引用”,采用Iframe解决微信图片防盗链‘此图片来自微信公众平台未经允许不可引用’问题_第1张图片
于是乎查了一下发现是由于微信图片防盗链问题,怎末办呢?经查询主要有三种方法:
1.,在head中增加这段,可能以前是可以的,但现在微信进行了升级,已经失效了。
2.接下来就是将之前的图片路径嵌入到iframe中进行加载,稍微调整了一下,样式不会乱,直接上代码:

<script type="text/javascript">

window.onload = function() {
	var len = document.getElementById('js_content').getElementsByTagName("img").length;
	for (var i = 0; i < len; i++) {
		var img = document.getElementById('js_content').getElementsByTagName("img")[0];
		if (!isParentHidde && !(typeof(img) === undefined) && img.hasAttribute('data-src')) {
			var path = showImg(0);
			document.getElementById('js_content').getElementsByTagName("img")[0].parentElement.innerHTML = path;
		}
	}
	
	function showImg(index) {
		var parent = document.getElementById('js_content').getElementsByTagName("img")[index].parentElement;
		var child = document.getElementById('js_content').getElementsByTagName("img")[index];
		var url = child.getAttribute("data-src") + '&time=' + Math.random();
		var style = child.getAttribute("style");
		var parent_style = parent.getAttribute("style");
		var imgId = 'img_' + index;
		var frameid = 'frameimg' + Math.random();
		window.img = ' + url + '?' + Math.random() + '\' style = \'' + style +
			'\'/>
                    
                    

你可能感兴趣的:(采用Iframe解决微信图片防盗链‘此图片来自微信公众平台未经允许不可引用’问题)