dupan下载不限速

dupan下载不限速

某du盘下载限速严重,这里是我常用的一套解决方案,大家可以用直链下载助手+idm,我比较怕麻烦,就写了一个简易的客户端,还有很多功能没能实现,大家可以给点建议,共同交流讨论

import requests
import easygui as g
import os

#--------------------常数区--------------------
res=requests.session()
cookie=open('cookie.txt','r').read()
#cookie.txt里把抓到的cookie粘进去就可以了
h={
     
        'User-Agent': 'netdisk;P2SP;2.2.60.26'
        ,'Cookie': cookie
    }

#-------------------函数区----------------------
def download(url,dir,filename):
    os.system('aria2c -s 2 -x 2 -j 2 -o "'+filename+'" -d "'+dir+'" '+' --header="User-Agent: netdisk;P2SP;2.2.60.26" --file-allocation=none "'+url+'"')
#使用aria2下载,也可复制下载链接用idm下载


def getlist(pa,dir):
#获取文件列表
    url='https://pan.baidu.com/api/list?order=time&dir='+pa
    dic={
     }
    l=res.get(url,headers=h).json()['list']
    for i in l:
        isdir=i['isdir']
        path=i['path']
        name=i['server_filename']
        dic.update({
     name:[path,isdir]})
    choi=g.multchoicebox('选择文件','',choices=dic,preselect=None)

    if choi!=None:
        for i in choi:
            if dic[i][1]==0:
                geturl(i,dic[i][0],dir)
            elif dic[i][1]==1:
                dir=dir+'/'+i
                getlist(dic[i][0],dir)
    elif choi==None:
        pass


def geturl(name,path,dir):
#获取下载链接
    url='http://pcs.baidu.com/rest/2.0/pcs/file?app_id=778750&ver=4.0&method=locatedownload&to=d0 HTTP/1.1&path='+path
    try:
        s=res.get(url,headers=h).json()['urls'][0]['url']
        print(s)
        if os.path.exists(dir+'/'+name)==False:
            download(s,dir,name)
    except:
        print(path)
        pass


if __name__ == '__main__':
    dir = g.diropenbox('选择文件保存位置')
    getlist('%2F',dir)

老魏的订阅号,会发布个人的一些爬虫心得和一些爬虫案例,大家感兴趣可以关注一下
dupan下载不限速_第1张图片

你可能感兴趣的:(自学心得,python,爬虫)