最新公告
  • 欢迎您光临搜资源,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 新手python抖音无水印解析带详细注释

    注释都很详细,可以看看注释!友情提醒,仅供学习使用,请勿用于非法用途!

    新手python抖音无水印解析带详细注释-搜资源

    代码如下:

     

    #requests模块用来get网页请求
    #re模块用来正则
    def take_video(http_):#_函数开始,一个名字叫做http_的参数
        headers = {#这里先设置一下协议头,因为需要手机的协议头来获取地址
            'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Mobile Safari/537.36'
        }
        bake_http = requests.get(http_,headers = headers,allow_redirects = False)#get用户输入的网址,提交协议头,并且把allow_redirects设置为False来禁止重定向
        regular_bake = re.findall(r'/video/(\d*)',bake_http.text,flags=re.M)#正则一下返回的文本,取出/video/后面的ID;\d*来表示0或者多个数字
        if regular_bake == None:#判断一下正则有没有成功,因为正则失败的话会返回一个None,不判断的话正则失败程序就会报错
            return '链接解析失败,失败位置:第一步'#如果没有成功,就返回失败,来提示第几步失败了
        else:
            bake_id = regular_bake[0]#成功的话就取出来正则的第一个匹配项,复制给变量ID;正则失败的话调用这个就会报错的!所以上面判断一下
        bake_http = requests.get('https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids='+ bake_id,headers = headers,allow_redirects = False)
        # 拼接一下取出来的ID,继续提交协议头和禁止重定向
        works_name = bake_http.json()['item_list'][0]['desc']#取出来返回Json格式中的作品名字,赋值给变量
        works_nickname = bake_http.json()['item_list'][0]['author']['nickname']#取出来返回Json格式中的作者名字,赋值给变量
        works_music = bake_http.json()['item_list'][0]['music']['play_url']['uri']#取出来返回Json格式中的作品音乐,赋值给变量
        if works_music == '':#这里判断一下作品的音乐是不是空白
            works_music = '原声';#如果是空白的话就代表作品用的自己录制的声音,就是原声
        works_pic = bake_http.json()['item_list'][0]['video']['cover']['url_list'][0]#取出来返回Json格式中的作品封面图片,赋值给变量
        works_video_url = str(bake_http.json()['item_list'][0]['video']['play_addr']['url_list'][0])#取出来返回Json格式中的视频URL,赋值给变量
        works_video_url = works_video_url.replace('/playwm/','/play/')#把视频URL中的/playwm/替换为/play/
        bake_http = requests.get(works_video_url,headers = headers,allow_redirects = False)#替换视频URL之后就开始Get这个网址,提交协议头,禁止重定向
        works_video_url = bake_http.text#取出来返回的文本内容
        regular_bake = re.findall(r'[a-zA-z]+://[^\s]*', bake_http.text, flags=re.M)#正则一下,取出来返回文本中的网址,[a-zA-z]+://[^\s]*来自精益编程助手
        if regular_bake == None:#同上,判断一下是否匹配失败
            return '链接解析失败,失败位置:第二步'#失败的话返回在第二步出错
        else:
            works_video_url = regular_bake[0]#成功的话就取出来第一个匹配项,就是无水印地址
        return f'作品标题:{works_name}\n作品作者:{works_nickname}\n作品图片:{works_pic}\n作品音乐:{works_music}\n作品无水印地址:{works_video_url}'
        #拼接一下取出来的各种值,拼接一下,返回
     
    http_ = input('请输入抖音分享链接:')#程序跑起来,先运行这个
    if http_.find('v.douyin.com/') == -1:#判断一下用户输入的是不是抖音链接
        print('您输入的不是抖音链接,应该是包含“v.douyin.com/”的链接形式!')#如果不是,就提示,然后结束运行、、、
    else:
        http_ = take_video(http_)#如果是,就运行上面的名字叫做take_video的函数,并且把返回内容保存在http_的变量里
        print(http_)#输出http_

     

     

    免责声明:
    本内容由用户共同创建和维护,不代表本站立场。
    如侵犯到您的合法权益,请您联系本站删除资源!
    如您遇到资源链接失效,请您前往工单方式通知!
    未经搜资源网许可,不得转载。

    搜资源 » 新手python抖音无水印解析带详细注释

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或工单联络我们.。
    下载链接失效
    如碰到链接失效,请您到个人中心以工单的形式像客服反馈,我们将尽快24小时之内处理解决。
    架设失败怎么处理?
    1.请使用和安装说明里要求一致的架设环境;2.认真阅读网站文字说明和压缩包内的安装说明,逐步进行安装,特别注意有些需要运行目录和伪静态;3.如果在本地环境中架设失败请使用服务器环境,不要问我为什么,很多程序在本地环境架设不起在服务器liunx环境下直接起飞

    发表评论

    • 116会员总数(位)
    • 1298资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 480稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情