新手python抖音无水印解析带详细注释

作者 : admin 本文共2281个字,预计阅读时间需要6分钟 发布时间: 2020-11-28 共22人阅读
106源码网提供了免登录直接购买同时也可以注册本站开通会员,可以根据自己的需求去选择!注:本站不提供任何技术上的支持和服务!备用QQ:2330043781

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

代码如下:

#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_
本站资源特别声明

① 106源码网所有源码来源于用户上传和网络,均不允许转载,如有侵权请邮件联系站长!
② 所有源码尽量保证原汁原味,如有特殊情况会作出声明及标注。
③ 所有源码仅供大家学习和交流,您必须在下载后24小时内删除!
④ 如发现会员转载本站资源文章,本站有权封禁会员账号!
⑤ 不得使用于非法商业用途,不得违反国家法律。否则后果自负与本站无关!


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

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载无数据或打开不了?
有可能是因为百度网盘受到风控有敏感内容被删除了 ,如遇到此类问题请及时联系站长!
为什么开通了永久VIP部分商业资源还要另外购买?
为了好的程序和源码不泛滥部分商业资源另外需要购买的,好的东西我们也是大几部价钱买来的。

发表评论

  网站地图