V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Hoothin
V2EX  ›  分享创造

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

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

    分享下我写的脚本 [东方永页机 - 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
    一个感觉:感觉一直没有终点会很累,就如同自动播放没有结束一样
    fatelight
        2
    fatelight  
       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 ?
    enchilada2020
        6
    enchilada2020  
       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 车万人永不为奴!
    fatelight
        8
    fatelight  
       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   ·   我们的愿景   ·   实用小工具   ·   1636 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 16:53 · PVG 00:53 · LAX 09:53 · JFK 12:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.