Pengambilan otomatis halaman web yang dipaginasi berikutnya dan penyisipan ke halaman saat ini untuk pengguliran tak terbatas. Mendukung ribuan situs web tanpa aturan apa pun.
你的写法没错,只是腾讯动漫有安全限制,控制台有输出错误信息的。
类似于这种网站需要自己爬取页面读取参数来构造图片拼接,必须要用到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
请考虑出一个规则教程。
我尝试为腾讯动漫这个网站写规则,但我尝试几回写法都不生效。虽然有文档,但是对比已有规则库尝试理解也无果。
要是能有一个教程,阐述文档的命令的意思以及用法,这样能简化规则的上手门槛。
[
{
"author":"Poto",
"action":"1",
"name": "腾讯动漫",
"url": "^https://ac\\.qq\\.com",
"pageElement":"div.cor-roast>*",
"nextLink":"ul.ctrl-list a.main_control_next"
}
]