python抖音数据采集的方法

这篇文章主要介绍了python抖音数据采集的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python抖音数据采集的方法文章都会有所收获,下面我们一起来看看吧。

专注于为中小企业提供成都网站制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业盐都免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

准备工作

开始进入数据采集的准备工作,第一步自然是环境搭建,本次我们在windows环境下,采用python3.6.6环境,抓包和代理工具是mitmproxy,也可以使用Fiddler抓包,采用夜神模拟器来模拟安卓运行环境(也可以用真机),这次主要通过手动滑动app来抓取数据,下次介绍采用Appium自动化工具,实现数据采集的全自动(解放双手)。

1、安装python3.6.6环境,安装过程可自行百度,需要注意的是,centos7自带的是python2.7,需要升级到python3.6.6环境,升级之前主要先安装ssl模块,否则升级好的版本无法访问https的请求。

2、安装mitmproxy,安装好python环境后,在命令行执行pip install mitmproxy安装mitmproxy,注:windows下只有mitmdump和mitmweb可以使用,安装好后在命令行输入mitmdump即可启动,默认启动的代理端口为8080。

3、安装夜神模拟器,可以在官网下载安装包,安装教程自行百度即可,基本都是下一步。安装好夜神模拟器之后,需要对夜神模拟器进行配置。首先需要设置模拟器的网络为手动代理,IP地址为windows的IP,端口为mitmproxy的代理端口。

python抖音数据采集的方法

4、接下来是证书的安装,打开模拟器中的浏览器,输入地址mitm.it,选择对应版本的证书,安装好后,就可以进行抓包了。
python抖音数据采集的方法

5、安装app,app安装包可以到官网下载,然后通过拖拽进模拟器就可以安装,或者在应用市场进行安装。
至此,本次数据采集环境就全部搭建完成。

数据接口分析 抓包

搭建好环境之后就开始对抖音app进行数据抓包,分析出每个功能所使用的接口,本次以采集视频数据接口为例介绍。
关闭之前打开的mitmdump,重新打开mitmweb工具,mitmweb是一个图形化的版本,就不用对着黑框框找了,如下图:
python抖音数据采集的方法
启动之后打开模拟器的抖音app,可以看到已经有数据包解析出来了,然后进入用户主页,开始下滑视频,在数据包列表中可以找到请求视频数据的接口https://aweme.snssdk.com/aweme/v1/aweme/post/
python抖音数据采集的方法
可以在右边看到接口的请求数据和响应数据,我们将响应数据复制出来,进入下一步解析。
python抖音数据采集的方法

数据解析

通过mitmproxy和python代码的结合,我们就可以在代码中获取到mitmproxy中的数据包,进而可以按照需求来处理。新建一个test.py文件,里面放两个方法:

def request(flow):
    pass

def response(flow):
    pass

见名知意,这两个方法,一个是在请求的时候执行的,一个是在响应的时候执行,而数据包则存在于flow当中。通过flow.request.url可以获取到请求url,flow.request.headers可以获取到请求头信息,flow.response.text中的就是响应的数据了。

def response(flow):
    if str(flow.request.url).startswith("https://aweme.snssdk.com/aweme/v1/aweme/post/"):
        index_response_dict = json.loads(flow.response.text)
        aweme_list = index_response_dict.get('aweme_list')
        if aweme_list:
            for aweme in aweme_list:
                print(aweme)

这个aweme就是一个完整的视频数据了,可以根据需要提取里面的信息,这里提取部分信息做介绍。

 "statistics":{
    "aweme_id":"6765058962225204493",
    "comment_count":24,
    "digg_count":1465,
    "download_count":1,
    "play_count":0,
    "share_count":3,
    "forward_count":0,
    "lose_count":0,
    "lose_comment_count":0
}

statistics信息就是这个视频的点赞,评论,下载,转发的数据。
share_url为视频的分享地址,通过这个地址,可以在PC端观看抖音分享的视频,也可以通过这个链接解析到无水印视频。
play_addr为视频的播放信息,其中的url_list即为无水印地址,不过目前官方做了处理,这个地址无法直接播放,也有时间限制,超时之后链接就失效了。
有了这个aweme,就可以把里面的信息解析出来,保存到自己的数据库,或者下载无水印视频,保存到自己电脑了。
写好代码之后,保存test.py文件,cmd进入命令行,进入到保存test.py文件目录下,在命令行输入mitmdump -s test.py,mitmdump就启动了,此时打开app,开始滑动模拟器,进入用户主页:

python抖音数据采集的方法

开始不断下滑,test.py文件就可以把抓取到的视频数据全部解析出来了,以下是我截取的部分数据信息:
视频信息:
python抖音数据采集的方法
视频统计数据:
python抖音数据采集的方法
视频评论数据:
python抖音数据采集的方法
无水印视频下载:
python抖音数据采集的方法

关于“python抖音数据采集的方法”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python抖音数据采集的方法”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


文章标题:python抖音数据采集的方法
标题URL:http://scyanting.com/article/pcopdh.html