[油猴脚本] 写了个网页自动翻页脚本 [东方永页机] ,可以自动兼容 90%的网站 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Hoothin
V2EX    分享创造

[油猴脚本] 写了个网页自动翻页脚本 [东方永页机] ,可以自动兼容 90%的网站

  •  3
     
      Hoothin 2022-02-12 17:36:35 +08:00 4064 次点击
    这是一个创建于 1344 天前的主题,其中的信息可能已经有所发展或是发生改变。

    分享下我写的脚本 [东方永页机 - Pagetual ]

    可能是目前兼容网站最多的浏览器自动翻页脚本了。在网站适配这一块已经不逊色于老牌的 AutoPager 了。

    原本是打算改 Super-preloader 用的,但是最后还是另起炉灶了。

    双击空白处或者点击分页隔条暂停翻页。可于配置页将透明值改为 0 隐藏隔条。

    这个脚本和其他 AutoPagerize like 的翻页类脚本或插件的区别在于,它是完全自驱动的。寻找下一页,寻找主框架,寻找插入点都是自动完成。不需要任何规则驱动。我写好后测试了几个小众网站都能完美翻页。

    比如说 V2EX 就属于无规则自动翻页。

    当然有些网站还是必须要规则的,所以我也兼容了 wedata 数据库。这样 90%以上的网站就兼容了。

    假如遇到无法识别或者错误识别的网站,我也准备了自定义规则,不需要学 xpath ,直接用 selector 即可,打开设置页即可配置。可以导入 url ,也可以在输入框配置。

    永页机同时拥有强大的自定义翻页规则,并支持两种格式的自定义规则链接导入与规则热更新。

    自定义规则不需要 js 基础,只需要一点 css 和正则知识。从此不必再求人。

    什么都不懂也没有关系,假如遇到翻页错误的网站,无脑开启强制拼接即可。脚本会记住你的选择。

    配置支持在自动规则的基础上增量添加,比如自动找出来的下一页是正确的,但找出来的正文包含广告,那就可以只配置正文的选择器去除广告。

    导入规则支持热更新,也支持优先级排序。我还给自定义规则加了格式化,这样不管你规则添加进来时有多丑陋,刷新后都会格式化到你赏心悦目。

    说明文档 pagetual.hoothin.com

    安装地址 greasyfork.org/zh-CN/scripts/438684-pagetual

    18 条回复    2022-12-07 11:18:51 +08:00
    xmuli
        1
    xmuli  
       2022-02-13 01:00:08 +08:00 via iPhone   1
    一个感觉:感觉一直没有终点会很累,就如同自动播放没有结束一样
    pC0oc4EbCSsJUy4W
        2
    pC0oc4EbCSsJUy4W  
       2022-02-13 04:51:09 +08:00   1
    Hoothin
        3
    Hoothin  
    OP
       2022-02-13 08:17:21 +08:00
    @fatelight 第一次访问确实慢,甚至不是略慢而是很慢,因为没有初始化的话首先需要安装 wedata 在线规则和 pagetual 在线规则,这就至少需要耗费 3 秒钟;然后再查询规则,其中 wedata 有 3800 条规则,我将查询遍历分散到了 1 秒内,如果找不到又浪费一秒。
    但是第二次访问就快了,因为不需要再次加载规则,且我将用过的规则放入了队列。队列总长度仅仅只有 30 ,先进后出。
    Hoothin
        4
    Hoothin  
    OP
       2022-02-13 08:25:33 +08:00
    @fatelight 你用的这个我瞅过代码,写得略丑,翻页参数照搬了 Super-preloader 且居然为每个网站单独申明函数而不知创建工厂类,且扩展性堪忧。但是作者确实毅力非凡,洋洋洒洒写了这么多行,换我肯定坚持不下来。
    Hoothin
        5
    Hoothin  
    OP
       2022-02-13 08:46:30 +08:00
    @xmuli 所以可以按需启用,点击右侧太极就可以暂停&前往页尾。点击此站禁用就可以不在当前站点生效。
    但是看 H 图时大多还是“老夫还能行,快给我看下一张”的感觉吧 XD ?
    KMpAn8Obw1QhPoEP
        6
    KMpAn8Obw1QhPoEP  
       2022-02-13 18:28:43 +08:00 via Android
    名称点赞 东方永夜抄来的吧
    Hoothin
        7
    Hoothin  
    OP
       2022-02-13 19:27:37 +08:00 via Android
    @enchilada2020 车万人永不为奴!
    pC0oc4EbCSsJUy4W
        8
    pC0oc4EbCSsJUy4W  
       2022-02-13 21:24:47 +08:00
    @Hoothin 哦哦,再测一下看看
    hellopz
        9
    hellopz  
       2022-02-14 11:37:45 +08:00
    在用了,很强
    pluvet
        10
    pluvet  
       2022-02-14 22:50:50 +08:00
    越共探头
    Hoothin
        11
    Hoothin  
    OP
       2022-02-16 20:33:54 +08:00
    好多月供 XD
    XIU2
        12
    XIU2  
       2022-02-23 21:57:15 +08:00
    @Hoothin 因为我只是为了自给自足而临时学的 JS ,所以技术很差(我也知道自己写的很烂啦,但凑活着能用就行),我写的这些脚本及我的其他开源项目全都是我自用的,顺便分享出来~
    XIU2
        13
    XIU2  
       2022-02-23 22:11:16 +08:00
    一开始只是自用,写了十几个自己经常访问的网站规则,并按照习惯分享出来,后来就陆陆续续的有人申请添加支持,结果在过去的一年内,不知不觉写了四五百个翻页规则,最多的时候,有个人一次提交了 20+ 个网站,我愣是写了一下午。。。

    已经写了这么多了,如果再想去大幅优化那就等于重写了,技术和精力都跟不上了。
    就像你说的 “创建工厂类”,我都不知道这是什么东西,我学编程语言都是看一遍基础教程(语法 /格式什么的),然后就直接硬上了,边查边写,学了十几种但是各个不精通。。。
    当然这也无所谓了,毕竟我只是为了满足自己需求而自给自足学的这些语言,要求不高,经常用完就扔了。。。
    Hoothin
        14
    Hoothin  
    OP
       2022-02-24 10:47:50 +08:00
    @XIU2 被作者看到了啊,捂脸。首先我不带恶意啊,函数申明这边也许可以写成包类,控制好成员变量就行。另外建议可以在评论区单开一帖,粘贴上 NSFW 站点规则,目前油叉规则是允许这样做的(我以前写琉神转跟油叉 adult 规则搏斗过,虽然最后还是被打入 sleayzfork 了 XD )。
    XIU2
        15
    XIU2  
       2022-02-24 11:12:11 +08:00
    @Hoothin 好吧,我研究下类,这玩意我都没用过,写脚本全靠函数一把梭。。。

    NSFW 我当初也是担心被移到 sleayzfork ,所以一般婉拒(我添加支持的写真网站都有人举报,服了。。。
    不过,前几天又有人提了 自定义翻页规则 的需求,我折腾半天才改出来一个不伦不类的自定义翻页规则(只适用于简单的网站)。毕竟我当初写这个脚本的时候,才刚学 Javascript ,完全是怎么方便怎么来,压根没考虑过通用型方面。。。
    所以,后续再有人提 NSFW 需求的话,我可以考虑写成自定义翻页规则给对方。
    deepcoder
        16
    deepcoder  
       2022-05-31 11:06:28 +08:00
    楼上两位大佬都来了,插楼留个名 (#^.^#)
    这两个脚本都在用,很强大!充分满足了我这个小白的需求
    mmddisa
        17
    mmddisa  
       2022-10-15 10:54:56 +08:00
    大佬,自定义规则怎么保存啊
    MaiKuraki
        18
    MaiKuraki  
       2022-12-07 11:18:51 +08:00   1
    好用,very good
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2550 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:14 PVG 12:14 LAX 21:14 JFK 00:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86