吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5923|回复: 5
收起左侧

[其他转载] 【自用】自动填写已知提取码的百度分享

[复制链接]
52weiv 发表于 2021-6-30 15:03

今天早上来写了一个 油猴脚本。用于自动填写百度云盘的提取码。

之前我也使用过其他的油猴脚本来自动获取提取码,感觉不好用,所以按照自己的操作和想法写了一个简单的脚本。

脚本的工作原理:

  1. 将固定格式的百度网盘链接复制到浏览器。
  2. 获取到浏览器请求的url,需要解码。
  3. 解码后获取到百度网盘的url和提取码。
  4. 重定向url 并输入提取码。
  5. 最后点击提取按钮。

这些本来是可以手动操作的,不过我嫌麻烦就自己写脚本来弄了。本着分享学习的态度发帖,如有问题请联系交流。

使用方法:

  1. 固定的格式复制到浏览器。

    https://pan.baidu.com/s/1DJ9B1vQKwRw7ps_ULwb92g 提取码: t4hp
    或者 不含空格
    https://pan.baidu.com/s/1DJ9B1vQKwRw7ps_ULwb92g提取码:t4hp
  2. 回车等待就能直接打开提取内容。

脚本内容:

// ==UserScript==
// @name         获取到请求的url 然后转码,将链接地址和提取码提取出来,然后再自动输入,点击提取。
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  自用
// @AuThor       weiv
// @match        https://pan.baidu.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const code_key = 'bd_get_code'
    const regex_code_str = /提取码[:|:]\s*(\w){4}/
    // 获取到请求的url 然后转码,将链接地址和提取码提取出来,然后再自动输入,点击提取。
    let req = new XMLHttpRequest()
    req.open('GET', document.location, false)
    req.send(null)
    const response_URL = req.responseURL

    const decode_url = decodeURIComponent(response_URL)

    if(isExeistCode(decode_url)) {
        const url_code = getUrlCode(decode_url)
        setLocalStorage(code_key, url_code[1])

        window.location.href = url_code[0]
    } else {
        const code = getLocalStorage(code_key)
        document.querySelector("#accessCode").value = code
        document.querySelector('.submit-a.g-button-blue-large').click()
    }

    // 判断是否存在提取码。
    function isExeistCode (decode_url) {
        return regex_code_str.test(decode_url)
    }

    // 将解码后的url 进行提取。
    function getUrlCode (decode_url) {
        // 试了一下使用正则表达式提取url 和提取码。 不太方便,所以还是使用截取的方式简单点。
        const bd_url = decode_url.substring(decode_url.indexOf('http'), decode_url.indexOf('提')).trim()

        // 获取到 提取码:XXXX
        const regex_code = /(\w){4}/
        const get_code_str = regex_code_str.exec(decode_url)[0]
        const get_code = regex_code.exec(get_code_str)[0]
        return [bd_url, get_code]
    }

    // 将提取码存入缓存。
    function setLocalStorage(setKey, setValue) {

        // 增加元素
        localStorage.setItem(setKey, setValue)
    }

    // 获取缓存的提取码。
    function getLocalStorage(getKey) {

        // 获取元素
        return localStorage.getItem(getKey)
    }

})();

内容分享结束。

免费评分

参与人数 1吾爱币 +5 热心值 +1 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

tianyi1991 发表于 2021-6-30 21:27
学习看看
zhangsir95 发表于 2021-6-30 21:58
大哥这思路,问卷星要怎么搞?自动填写已知答案的那种
 楼主| 52weiv 发表于 2021-7-1 15:31
zhangsir95 发表于 2021-6-30 21:58
大哥这思路,问卷星要怎么搞?自动填写已知答案的那种

我试了试,果然不行,虽然我能选中所有的和填写值,但是每次刷新选项就不一样了,而且有些还是根据选项显示题目的。写得差不多测试的时候才发现白写了。 选项不一样可以通过值匹配来搞定, 但是根据题目选项显示题目的我真没思路了。求解。
tomchenri 发表于 2022-1-8 16:28
https://pan.baidu.com/share/init?surl=LZljUikuDdMxArxgxg-UUw
这个链接不知道提取码,可以帮我看看嘛?谢谢
 楼主| 52weiv 发表于 2022-1-11 16:04
tomchenri 发表于 2022-1-8 16:28
https://pan.baidu.com/share/init?surl=LZljUikuDdMxArxgxg-UUw
这个链接不知道提取码,可以帮我看看嘛? ...

这个我也不知道。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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