終極自動翻頁 - 加載並拼接下一分頁內容至當前頁尾,智能適配任意網頁
你的写法没错,只是腾讯动漫有安全限制,控制台有输出错误信息的。
类似于这种网站需要自己爬取页面读取参数来构造图片拼接,必须要用到pageInit pageAction,类似于superpreloader里面的documentFilter。
每个这种需要写代码而非静态选择器的站都不一样,需要个别分析,没有通用的解决方案。
我有空写一个吧
稍稍看了下,还挺复杂的,需要先抓取下一页。然后获取window.nonce(页面里写成了window["no"+"nce"])与window.DATA(在页脚),这俩都是写死在页面里的。再用
function Base() { _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; this.decode = function(c) { var a = "", b, d, h, f, g, e = 0; for (c = c.replace(/[^A-Za-z0-9\+\/\=]/g, ""); e < c.length;) b = _keyStr.indexOf(c.charAt(e++)), d = _keyStr.indexOf(c.charAt(e++)), f = _keyStr.indexOf(c.charAt(e++)), g = _keyStr.indexOf(c.charAt(e++)), b = b << 2 | d >> 4, d = (d & 15) << 4 | f >> 2, h = (f & 3) << 6 | g, a += String.fromCharCode(b), 64 != f && (a += String.fromCharCode(d)), 64 != g && (a += String.fromCharCode(h)); return a = _utf8_decode(a) }; _utf8_decode = function(c) { for (var a = "", b = 0, d = c1 = c2 = 0; b < c.length;) d = c.charCodeAt(b), 128 > d ? (a += String.fromCharCode(d), b++) : 191 < d && 224 > d ? (c2 = c.charCodeAt(b + 1), a += String.fromCharCode((d & 31) << 6 | c2 & 63), b += 2) : (c2 = c.charCodeAt(b + 1), c3 = c.charCodeAt(b + 2), a += String.fromCharCode((d & 15) << 12 | (c2 & 63) << 6 | c3 & 63), b += 3); return a } } var B = new Base(), T = window['DATA'].split(''), N = window['nonce'], len, locate, str; N = N.match(/\d+[a-zA-Z]+/g); len = N.length; while (len--) { locate = parseInt(N[len]) & 255; str = N[len].replace(/\d+/g, ''); T.splice(locate, str.length) } T = T.join(''); _v = JSON.parse(B.decode(T));
解密。得到 _v ,图片就在 _v.picture 里。遍历后写到页面,再改改css就行了。
我其实挺不喜欢破解这些“大厂”产品的,自己产品用户体验做得不怎么样,防人水平倒是一流。破解了还有可能被盯上发律师函。
你还是自己写吧,思路就是上面那些。可以写json规则,也可以写个子脚本方便管理,实现一个window.pagetualPageAction就行。记得要用action:0
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址
请考虑出一个规则教程。
我尝试为腾讯动漫这个网站写规则,但我尝试几回写法都不生效。虽然有文档,但是对比已有规则库尝试理解也无果。
要是能有一个教程,阐述文档的命令的意思以及用法,这样能简化规则的上手门槛。
[
{
"author":"Poto",
"action":"1",
"name": "腾讯动漫",
"url": "^https://ac\\.qq\\.com",
"pageElement":"div.cor-roast>*",
"nextLink":"ul.ctrl-list a.main_control_next"
}
]