吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

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

[Python 原创] 【原创源码】简单方便获取BDUSS

[复制链接]
mikeee 发表于 2020-3-2 17:57
本帖最后由 mikeee 于 2020-3-3 12:50 编辑

[Python] 纯文本查看 复制代码
'''
fetch_bduss_id.py

https://github.com/ffreemt/fetch-bduss-baiduid
'''

from typing import Union, List, Optional
import browser_cookie3
import pyperclip

from logzero import logger


# pylint: disable=too-many-arguments,
def fetch_bduss_id(
        names: Optional[Union[List[str], str]] = None,  # fetch all if names is None
        attach_cj: bool = False,  # attach raw cookiejar
        copyto: bool = True,  # copy to system clipboard
        bduss_only: bool = True,  # only copy bduss to clipboard
        domain_name: str = '.baidu.com',
        browser: str = 'chrome',
) -> dict:
    ''' fetch_bduss_id
    names: None, default to ['BDUSS', 'BAIDUID']
            '*', all

    '''

    if names is None:
        names = ['BDUSS', 'BAIDUID']

    if browser not in ['chrome']:
        logger.warning(' 除Chrome以外的浏览器未测试过。')

    # fmt: off  black
    # yapf: disable
    try:
        cj_ = getattr(browser_cookie3, browser)(domain_name=domain_name)

        if names == '*':
            cj_dict = dict([elm.name, elm.value] for elm in cj_)  # type: ignore  # noqa
        else:
            cj_dict = dict([elm.name, elm.value] for elm in cj_ if elm.name in names)  # type: ignore  # noqa
    # yapf: enable
    # fmt: on  black
    except Exception as exc:
        logger.error('exc: %s', exc)
        cj_ = {}
        cj_dict = {'errors': str(exc)}

    if attach_cj:
        cj_dict = {**cj_dict, **{'cookiejar': cj_}}

    if copyto:
        if bduss_only and cj_dict.get('BDUSS'):
            try:
                pyperclip.copy(cj_dict.get('BDUSS'))
            except Exception as exc:
                logger.error('Unable to copy to clipboard: %s', exc)
        else:
            try:
                pyperclip.copy(cj_dict)
            except Exception as exc:
                logger.error('Unable to copy to clipboard: %s', exc)
    return cj_dict


if __name__ == '__main__':
    try:
        _ = fetch_bduss_id()
        print(_)
        print('\nCtrl-v 拷出 BDUSS')
        _ = _.get('BDUSS')
        if _ is None:
            _ = 0
        else:
            _ = len(_)
    except Exception as exc:
        logger.error('%s', exc)
        _ = 0
    finally:
        if _ < 150:  # 192
            logger.warning(' 如果没有用Chrome登录百度的话,先登录百度... ')


有些程序(如BaiduPCS或百度翻译程序)需要百度的cookies或 BDUSS,这个小程序可以简单方便的获取BDUSS:
[Bash shell] 纯文本查看 复制代码
python fetch_bduss_baiduid.py

运行后BDUSS存在系统剪贴板里,可用 ctrl-v 拷出。

也可以用直接在 python程序里调用,请参考程序定义。

觉得有用就评个分什么的。

打了个exe包(只在Win10测试过,64位win7里应该是可以运行的), 移步此处下载: https://www.52pojie.cn/forum.php?mod=viewthread&tid=1121615&page=1&extra=#pid30373770

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
wushaominkk + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

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

头像被屏蔽
那年听风 发表于 2020-3-2 18:12
提示: 作者被禁止或删除 内容自动屏蔽
Apostle 发表于 2020-3-2 19:00
lzhp529 发表于 2020-3-2 19:42
一点知识也不懂  还真用不来  但是我知道这个获取了能下载百度网盘的东西
5260zl 发表于 2020-3-3 23:10
链接失效了。
吾爱007 发表于 2020-3-12 00:13
谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-23 04:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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