AutoPager

Append the next page content to the bottom seamlessly (like a waterfall, Unlimited scrolling, no need to manually click on the next page)~

< Feedback on AutoPager

Review: Good - script works

X.I.UAuthor
§
Posted: 2024-08-23

复制粘贴到脚本 自定义翻页规则 默认的 { } 中间保存(浏览器右上角 Tampermonkey 扩展图标内的脚本菜单)

    "m.22kanshu.com": {
        "host": "m.22kanshu.com",
        "url": "/^\\/\\d+/\\d+/\\d+(_\\d+)?\\.html$/",
        "style": "#txt>p:first-child,#txt>p:last-child,body>img,body>div:not([class]):not([id])",
        "pager": {
            "type": 6,
            "nextL": "js;if(gjhtygftyfds && gjhtygftyfds.indexOf('.html') !== -1)return location.origin+gjhtygftyfds",
            "pageE": "#txt>p:not(:first-child):not(:last-child), head>script[type='text/javascript']",
            "scriptT": 2
        }
    },
    "www.22kanshu.com": {
        "host": "www.22kanshu.com",
        "url": "/^\\/\\d+/\\d+/\\d+(_\\d+)?\\.html$/",
        "pager": {
            "type": 6,
            "nextL": "//div[@class='read_btn']/a[text()='下一章'][contains(@href, 'html')]",
            "pageE": ".word_read>p"
        }
    }

这网站做了一些措施来提高爬取难度,算是半静态半动态的,不过好在比较好解决,简单研究了下实现了。

不过需要注意的是,我看手机版页面存储下一章地址的变量名似乎是随机生成的(gjhtygftyfds),因此后续这个网站可能哪天就把这个变量名给改了,到时候可能需要手动更新规则里的这个 gjhtygftyfds 变量名,如果到时候我不在,你可以自己打开任意阅读页后按 F12 键打开开发者工具,然后选择 元素 选项卡,然后按 Ctrl+F 搜索 head>script[type='text/javascript'],正常情况下就一个结果,双击元素展开可以看到如下内容(以下内容来自你申请时写的地址,你可以当成示例参考):

var lastread=new LastRead();lastread.set('473', '71833668', '女神的超级狂医', '第4925章 大劫到来', '2','十年萤火','0');var gjhtygftyfds='/0/473/71833673.html';var yugtygftyfds='/0/473/71833668_1.html';var chtu=Math.round(Math.random()*10);

其中这个 var gjhtygftyfds='/0/473/71833673.html'; 就是给变量赋予下一页地址的代码,其中的 gjhtygftyfds 就是翻页规则所需的变量,如果这个变量名称变了的话,那么你就需要将新的名称替换掉规则里旧的变量名称(也就是现在的 gjhtygftyfds)。

注意,后面那个变量是上一章的地址,这个不用管,你只要别把两个搞混了就行。

另外,我也顺便帮你把手机版页面的一些广告给屏蔽掉了(就是规则里的 style 子规则)。

Post reply

Sign in to post a reply.