本帖最后由 天空宫阙 于 2020-1-5 15:57 编辑
之前写过一个知音漫客漫画的爬虫
但是要看漫画还有下载总没有在线看方便
当时写爬虫的时候我就发现
付费的漫画只是会弹出一个让你付费的弹窗而已,后面仍然是漫画的内容
于是很容易就可以想到如果我们可以把这个弹窗隐藏,我们就可以愉快的看漫画了
果然已经有人比我先想到了,我在https://greasyfork.org/找到了这个知音漫客网破解付费漫画 https://greasyfork.org/zh-CN/scripts/390018-%E7%9F%A5%E9%9F%B3%E6%BC%AB%E5%AE%A2%E7%BD%91%E7%A0%B4%E8%A7%A3%E4%BB%98%E8%B4%B9%E6%BC%AB%E7%94%BB
因为这个脚本的代码量超级少使用我就想亲自实践一下
首先是拿到上面这个元素,并把它隐藏,我们可以通过getElementById来选择,并把它的style.dispaly设置成‘none’。
发现还少一个关闭的图标没有隐藏,并且有一层淡淡的阴影挡住了
于是我们可以选一个包含了这个弹窗的更大的容器,把它隐藏掉也是一样的
我就准备选择id为layui-layer1的这个元素,同样的把它的style.dispaly设置成‘none’。
发现成功的把让你付费的弹窗隐藏了,先庆祝一下成功一半了
还差一个阴影没有去掉
其实阴影的去除方法类似
这个时候发现没有办法滚动
document.body.style.overflow = 'unset';
这个就可以愉快的看漫画了
用Chrome开发工具调试完了,可以用tampermonkey写个脚本,让它间隔执行,判断是否有这个让你付费的弹窗有的话就把它隐藏掉
借鉴了知音漫客网破解付费漫画这个脚本,我自己也写了一个
[JavaScript] 纯文本查看 复制代码 // ==UserScript==
// [url=home.php?mod=space&uid=170990]@name[/url] 知音漫客付费弹窗隐藏
// [url=home.php?mod=space&uid=467642]@namespace[/url] http://tampermonkey.net/
// [url=home.php?mod=space&uid=1248337]@version[/url] 0.1
// @description try to take over the world!
// [url=home.php?mod=space&uid=686208]@AuThor[/url] You
// [url=home.php?mod=space&uid=195849]@match[/url] *://*.zymk.cn/*
// [url=home.php?mod=space&uid=609072]@grant[/url] none
// ==/UserScript==
(function() {
'use strict';
var hide = function(){
//当显示付费弹框时再做处理
if (document.getElementById('payCharpterLayer')) {
let layer1 = document.getElementById('layui-layer1');
let shade1 = document.getElementById('layui-layer-shade1');
if (shade1 && shade1.style.display != 'none') {
shade1.style.display='none';
layer1.style.display='none';
//开启滚动条
document.body.style.overflow = 'unset';
}
}
}
//循环执行
setInterval(hide, 1);
})();
原脚本
[JavaScript] 纯文本查看 复制代码 // ==UserScript==
// @name 知音漫客网破解付费漫画
// @namespace Recomi
// @version 1.2
// @description 隐藏知音漫客网的付费弹窗,并启用滚动条,同时支持移动版页面
// @author Recomi
// @match *://*.zymk.cn/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var loop = function () {
//当显示付费弹框时再做处理
if (document.getElementById('payCharpterLayer')) {
let shade = document.getElementsByClassName('layui-layer-shade')[0];
if (shade && shade.style.display != 'none') {
shade.style.display = 'none';
let content = document.getElementsByClassName('layui-layer-page')[0];
if(content){
content.style.display = 'none';
}
//开启滚动条
document.body.style.overflow = 'unset';
//停止循环
// window.clearInterval(this);
}
}
//移动版网页的处理
if (document.getElementsByClassName('pay').length > 0) {
let content = document.getElementsByClassName('pay')[0];
if (content && content.style.display != 'none') {
content.style.display = 'none';
let shade = document.getElementsByClassName('layui-m-layershade')[0];
if(shade){
shade.style.display = 'none';
}
}
}
};
//循环执行
setInterval(loop, 1);
})();
跟原脚本只是选择元素的方式不完全相同试了一下,pc端网页的效果差不多
原脚本还对移动端做了处理,我就不实践了
使用方法:
1.安装tampermonkey
2.点击链接知音漫客网破解付费漫画 https://greasyfork.org/zh-CN/scripts/390018-%E7%9F%A5%E9%9F%B3%E6%BC%AB%E5%AE%A2%E7%BD%91%E7%A0%B4%E8%A7%A3%E4%BB%98%E8%B4%B9%E6%BC%AB%E7%94%BB 进入安装脚本
3.可以愉快的看漫画了
我的入门语言是python主要写爬虫,奈何现在不会点JavaScript都爬不到数据,于是就学了js,现在算是js的菜鸟,这是我第一次尝试写tampermonkey脚本,请多指教。
文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途 |