温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何爬取没有水印的抖音视频

发布时间:2021-10-26 09:44:40 来源:亿速云 阅读:158 作者:柒染 栏目:大数据

本篇文章给大家分享的是有关Python如何爬取没有水印的抖音视频,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

使用更简单的方法

随便打开一个抖音个人主页,我选择的是爱奇艺体育,接着右键检查网页元素,点击network选项卡下的xhr选项,分析抓到的包

Python如何爬取没有水印的抖音视频

点到preview选项卡,点击video->download_addr->url_list

Python如何爬取没有水印的抖音视频

提取到这个网址的时候我以为已经结束了,但是一个大佬@金亭玉立给我发来了一篇文章提醒了我一些没有想到的东西,在此表示感谢!

我们接着往下看,在下面的play_addr下面也有一个链接,这个链接下面的视频就是无水印版本的视频

Python如何爬取没有水印的抖音视频

Python如何爬取没有水印的抖音视频

代码

import requests
import json
import jsonpath

class Douyin:
    def page_num(self,max_cursor):
        #随机码
        random_field = '00nvcRAUjgJQBMjqpgesfdNJ72&dytk=4a01c95562f1f10264fb14086512f919'
        #网址的主体
        url = 'https://www.iesdouyin.com/web/api/v2/aweme/post/?sec_uid=MS4wLjABAAAAU7Bwg8WznVaafqWLyLUwcVUf9LgrKGYmctJ3n5SwlOA&count=21&max_cursor=' + str(max_cursor) + '&aid=1128&_signature=' + random_field
        #请求头
        headers = {
            'user-agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36',
        }
        response = requests.get(url,headers=headers).text
        #转换成json数据
        resp = json.loads(response)
        #提取到max_cursor
        max_cursor = resp['max_cursor']
        #遍历
        for data in resp['aweme_list']:
            # 视频简介
            video_title = data['desc']
            #使用jsonpath语法提取paly_addr
            video_url = jsonpath.jsonpath(data,'$..paly_addr')
            for a in video_url:
                #提取出来第一个链接地址
                video_realurl = a['url_list'][1]
            # 请求视频
            video = requests.get(video_realurl, headers=headers).content
            with open('t/' + video_title, 'wb') as f:
                print('正在下载:', video_title)
                f.write(video)

        #判断停止构造网址的条件
        if max_cursor==0:
            return 1
        else:
            douyin.page_num(max_cursor)

if __name__ == '__main__':
     douyin = Douyin()
     douyin.page_num(max_cursor=0)

优点

这个方法的优点是可以省去很大一部分的分析网址的步骤,而且没有调用到webdriver(可以不限制浏览器),速度也会有显著提升,得到的视频也是无水印的

不足

还是没有解决随机生成字符串的问题,操作比较麻烦

以上就是Python如何爬取没有水印的抖音视频,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI