吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8542|回复: 45
收起左侧

[Python 转载] 百度文库文档下载地址解析python版【摸索不易,还请支持】

  [复制链接]
IvenLuck 发表于 2020-12-12 15:24
本帖最后由 IvenLuck 于 2020-12-12 15:36 编辑

1、浏览器打开百度首页,登录百度账号
2、按F12打开开发者工具,切换到网络选项卡,刷新页面
3、点开首页请求记录

百度首页

百度首页

4、复制bduss粘贴到程序中,软件即可正常运行,至于具体干什么就看你自己了
图片.png 百度文库文档解析核心代码到此全部呈上,对接哪里?对接什么就靠你自己发挥了

[Python] 纯文本查看 复制代码
import requests
from bs4 import BeautifulSoup


class BaiDuWenKu(object):
    def __init__(self):
        # 初始化操作
        headers = {
            "User-Agent":
            "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
        }
        self.session = requests.Session()
        self.session.headers.update(headers)

    def setBduss(self, bduss):
        '''
        设置cookie,将作为解析下载时的身份验证
        '''
        cookies = {"BDUSS": bduss}
        self.session.cookies.update(cookies)

    def parserFileInfo(self, file_url):
        '''
        根据文档url解析文档信息
        '''
        res = self.session.get(file_url)
        soup = BeautifulSoup(res.text, "html.parser")
        file_info_options = [
            "ct", "doc_id", "retType", "sns_type", "storage", "useTicket",
            "target_uticket_num", "downloadToken", "sz", "v_code", "v_input"
        ]
        data = {}
        try:
            for option in file_info_options:
                value = soup.find(
                    "input", attrs={
                        "name": option
                    }).get("value") or ""
                data[option] = value
        except BaseException as e:
            raise Exception("文档信息解析失败!")
        data["req_vip_free_doc"] = "1"
        return data

    def download(self, data):
        '''
        根据解析的数据下载文档
        '''
        url = "https://wenku.baidu.com/user/interface/getvipfreedoc"
        params = {"doc_id": data["doc_id"]}
        jRes = self.session.get(url, params=params).json()
        if not jRes["data"]["is_vip_free_doc"]:
            raise Exception("只能下载vip免费文档哦")
        url = "https://wenku.baidu.com/user/submit/download"
        res = self.session.post(url, data=data, allow_redirects=False)
        if res.status_code == 302:
            return res.headers.get("Location")
        else:
            raise Exception("下载失败,请稍后再试!")


def main():
    '''
    负责逻辑调度
    '''
    bduss = "Vx*************81djg2WDgtUU5pMkE5UnhmRV*********AAAAAAEAAABlTk4wbnZwZW5neW91amlnZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBo9V6AaPVeWG"
    bdwk = BaiDuWenKu()
    bdwk.setBduss(bduss)
    # url=input("请输入要下载的文档url:")
    url = "https://wenku.baidu.com/view/96fec4f4f321dd36a32d7375a417866fb94ac074.html?fr=search-income2"
    file_info = bdwk.parserFileInfo(url)
    download_url = bdwk.download(file_info)
    input("文档下载地址为:{}\n请及时下载".format(download_url))


if __name__ == "__main__":
    try:
        main()
    except BaseException as e:
        input(e)

喜欢的话记得给个赞,点个关注哦
附运行图一张:
图片.png

免费评分

参与人数 14吾爱币 +14 热心值 +12 收起 理由
银狐狸 + 1 + 1 我很赞同!
music984 + 1 + 1 我很赞同!
huixiaochuna + 1 + 1 成不成的吧,得支持一波!
雪莱鸟 + 1 先点个赞,预祝成功~
17601243856 + 1 + 1 软件还是打包发一下把,跑不成功
lcxxhp + 1 + 1 谢谢@Thanks!
鹏哥666 + 1 + 1 谢谢@Thanks!
WYT33 + 1 + 1 谢谢@Thanks!
lxwen + 1 + 1 打个包吧
niushengsan + 1 + 1 我很赞同!
zhang1836 + 1 + 1 我很赞同!
egbert_tao + 1 + 1 谢谢@Thanks!
枫叶荻花 + 1 + 1 还是打个包吧,小白不少的
旖旎若鸿 + 1 我很赞同!

查看全部评分

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

 楼主| IvenLuck 发表于 2020-12-12 21:18
perrychan 发表于 2020-12-12 16:27
https://wenku.baidu.com/view/89014cd977c66137ee06eff9aef8941ea66e4b99.html
解析失败,是我的问题吗?

我也解析失败。。。。
文档结构有变吧,没测试那么多类型的文档
 楼主| IvenLuck 发表于 2020-12-12 21:58
17601243856 发表于 2020-12-12 21:57
额,一直提示文档解析失败,是失效了吗

确实有些文档解析不了。测试不多
旖旎若鸿 发表于 2020-12-12 15:25
lxwen 发表于 2020-12-12 15:26
下载的是原版文档吗
雪莱鸟 发表于 2020-12-12 15:28
这没写完就发出来啦?
 楼主| IvenLuck 发表于 2020-12-12 15:29
旖旎若鸿 发表于 2020-12-12 15:25
啊?是不是还没编辑完...

编辑一半点错了。。。。
 楼主| IvenLuck 发表于 2020-12-12 15:31
雪莱鸟 发表于 2020-12-12 15:28
这没写完就发出来啦?

点错了。。。。
huixiaochuna 发表于 2020-12-12 15:32
快点吧,我双12都不去买东西,就在这等你了
 楼主| IvenLuck 发表于 2020-12-12 15:38
huixiaochuna 发表于 2020-12-12 15:32
快点吧,我双12都不去买东西,就在这等你了

已补充完整!
LSZ51 发表于 2020-12-12 15:39
能直接赐给个简易软件吗,歇菜菜鸟看不懂代码
 楼主| IvenLuck 发表于 2020-12-12 15:40
lxwen 发表于 2020-12-12 15:26
下载的是原版文档吗

是原版文档
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 03:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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