吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

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

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

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

[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
'''
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] 纯文本查看 复制代码
1
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, 2025-5-23 07:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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