上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: bigonion - 

草履虫都能看懂的chatGPT-AI接入谷歌必应实战教学(一)开端

[复制链接]
  • TA的每日心情
    开心
    2024-2-27 14:20
  • 签到天数: 88 天

    [LV.6]常住居民II

    22

    主题

    97

    回帖

    306

    积分

    荣誉开发者

    积分
    306

    油中2周年新人报道荣誉开发者生态建设者

    发表于 2022-12-13 13:59:59 | 显示全部楼层
    本帖最后由 bigonion 于 2022-12-14 14:40 编辑

    回复
    订阅

    使用道具 举报

  • TA的每日心情
    开心
    2024-2-27 14:20
  • 签到天数: 88 天

    [LV.6]常住居民II

    22

    主题

    97

    回帖

    306

    积分

    荣誉开发者

    积分
    306

    油中2周年新人报道荣誉开发者生态建设者

    发表于 2022-12-13 14:01:24 | 显示全部楼层
    本帖最后由 bigonion 于 2022-12-14 14:40 编辑

    可以看看他脚本之前的版本,是用的onloadend来接收数据的
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    294

    主题

    3906

    回帖

    3826

    积分

    管理员

    积分
    3826

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-12-13 14:03:23 | 显示全部楼层
    cxxjackie 发表于 2022-12-12 22:41
    stream不行的话用arraybuffer再手动转码?边接收边显示的话用onprogress?只是一点想法,没尝试过。 ...

    不行吧,onprogress只是接收进度,arraybuffer那些都是等数据加载完成后再返回

    stream的话是可以等服务器返回数据然后马上就读取到,服务器边写客户端边度,其他类型就是等服务器全部写完close后再一次性读出来

    脚本猫还没支持stream,我去了解一下,之前没想过还会有这种场景
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 10:38
  • 签到天数: 588 天

    [LV.9]以坛为家II

    43

    主题

    184

    回帖

    700

    积分

    荣誉开发者

    积分
    700

    荣誉开发者油中2周年生态建设者

    发表于 2022-12-13 14:49:35 | 显示全部楼层
    bigonion 发表于 2022-12-13 13:57
    哈哈哈哈哈哈你仔细看看他的脚本致谢一栏吧,是不是写着bigonion呢?

    搜嘎,原来是哥哥的思路,ggnb
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    862

    回帖

    1361

    积分

    荣誉开发者

    积分
    1361

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-12-13 20:42:53 | 显示全部楼层
    王一之 发表于 2022-12-13 14:03
    不行吧,onprogress只是接收进度,arraybuffer那些都是等数据加载完成后再返回

    stream的话是可以等服务 ...

    这样啊,我没怎么用过onprogress,不太了解。stream可以用arraybuffer读吗?可以的话好像支不支持也无所谓。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    294

    主题

    3906

    回帖

    3826

    积分

    管理员

    积分
    3826

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-12-13 22:29:15 | 显示全部楼层

    cxxjackie 发表于 2022-12-13 20:42

    这样啊,我没怎么用过onprogress,不太了解。stream可以用arraybuffer读吗?可以的话好像支不支持也无所 ...

    重点不是stream可不可以用arraybuffer读,重要的是能不能中途读取出内容,例如下面这个网站:http://test-case.ggnb.top/stream

    如果使用arraybuffer,那么只能等这个数据全部完全返回完毕后才能读取到数据,如果使用stream就可以服务器返回一点就读取出一点。

    // ==UserScript==
    // @name         gm xhr stream
    // @namespace    https://bbs.tampermonkey.net.cn/
    // @version      0.1.0
    // @description  try to take over the world!
    // @author       You
    // @match        https://bbs.tampermonkey.net.cn/
    // @grant        GM_xmlhttpRequest
    // @connect      test-case.ggnb.top
    // ==/UserScript==
    
    GM_xmlhttpRequest({
        url: "http://test-case.ggnb.top/stream",
        responseType: "arraybuffer",
        onloadstart(ev) {
            console.log('onloadstart', ev);
        },
        onprogress(ev) {
            console.log("onprogress", ev);
        },
        onload(ev) {
            console.log("onload", ev);
        }
    });
    
    GM_xmlhttpRequest({
        url: "http://test-case.ggnb.top/stream",
        responseType: "stream",
        onloadstart(ev) {
            /**
             * @type ReadableStream
             */
            const stream = ev.response;
            const reader = stream.getReader();
    
            reader.read().then(function read({ done, value }) {
                if (done) {
                    return;
                }
                console.log('read', new TextDecoder().decode(value));
                reader.read().then(read);
            })
    
            console.log('onloadstart', ev);
        },
        onprogress(ev) {
            console.log("onprogress", ev);
        },
        onload(ev) {
            console.log("onload", ev);
        }
    });

    用tm执行,脚本猫等我研究研究stream然后加入😭

    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    回帖

    3

    积分

    助理工程师

    积分
    3
    发表于 2022-12-14 08:15:57 | 显示全部楼层
    bigonion 大佬太强了,哈哈。刚翻 [GitHub](https://github.com/LiWeny16/chatGPT-tool-plus/blob/main/scriptCat/scriptCatforum2.md) 才知道大佬在写教学文章。

    我去研究别的东西(GitHub 中的 GM_fetch 实现、工程化)去了,路走歪了,还是得扎扎实实看文档。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-2-27 14:20
  • 签到天数: 88 天

    [LV.6]常住居民II

    22

    主题

    97

    回帖

    306

    积分

    荣誉开发者

    积分
    306

    油中2周年新人报道荣誉开发者生态建设者

    发表于 2022-12-14 14:47:49 | 显示全部楼层
    zhengbangbo 发表于 2022-12-14 08:15
    bigonion 大佬太强了,哈哈。刚翻 [GitHub](https://github.com/LiWeny16/chatGPT-tool-plus/blob/main/scr ...

    zbb大佬好!!
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    862

    回帖

    1361

    积分

    荣誉开发者

    积分
    1361

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-12-14 21:09:41 | 显示全部楼层
    王一之 发表于 2022-12-13 22:29
    [md]重点不是stream可不可以用arraybuffer读,重要的是能不能中途读取出内容,例如下面这个网站:http:// ...

    就是假如不支持stream(我试过了,旧版油猴也不支持),arraybuffer可以作为一个兼容方案吧,边下边读应该视为非必须的特性。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    294

    主题

    3906

    回帖

    3826

    积分

    管理员

    积分
    3826

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-12-14 21:28:45 | 显示全部楼层
    cxxjackie 发表于 2022-12-14 21:09
    就是假如不支持stream(我试过了,旧版油猴也不支持),arraybuffer可以作为一个兼容方案吧,边下边读应 ...

    是的,可以的

    对于楼主的场景表现就是会慢很多
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表