文章采集api(短视频直播数据采集趋于稳定,可以抽出时间来整理 )

优采云 发布时间: 2021-08-30 03:09

  文章采集api(短视频直播数据采集趋于稳定,可以抽出时间来整理

)

  抖音API接口资料采集教程,初级版,抖音视频搜索,抖音用户搜索,抖音*敏*感*词*弹幕,抖音评论列表

  这段时间一直在处理data采集的问题。目前平台data采集趋于稳定。可以花点时间整理一下最近的成果,顺便介绍一些最近用到的技术。

  本文文章biased技术需要读者有一定的技术基础,主要介绍采集数据处理过程中用到的神器mitmproxy,以及平台的一些技术设计。

  以下是数据采集的整体设计。客户在左边。不同的采集器 放在里面。 采集器发起请求后,通过mitmproxy访问抖音,数据返回后,通过中间的解析器解析数据,最后以不同的类别存储在数据库中。为了提高性能,中间添加了一个缓存,将采集器与解析器分开。两个模块之间的工作互不影响,可以最大限度地将数据存储在数据库中。下图为第一代架构设计。后续文章将介绍平台架构设计的三代演进历史。

  

  短视频直播数据采集interface SDK,请点击查看接口文档

  准备工作

  开始准备data采集,第一步自然是搭建环境。这次我们在windows环境下使用python3.6.6,抓包代理工具是mitmproxy。使用Fiddler抓包,使用夜神模拟器模拟Android运行环境(也可以使用真机)。这一次,你主要使用手动滑动应用程序来捕获数据。下次我们会介绍Appium自动化工具,实现全数据采集自动(解放双手)。

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

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

  3、安装夜神模拟器,可以到官网下载安装包,安装教程可以百度,基本上下一步。安装夜神模拟器后,需要配置夜神模拟器。首先需要将模拟器的网络设置为手动代理,IP地址为windows的IP,端口为mitmproxy的代理端口。

  

  4、 接下来就是安装证书了。在模拟器中打开浏览器,输入地址mitm.it,选择对应版本的证书。安装完成后就可以抓包了。

  

  5、安装app,app安装包可以从官网下载,然后拖入模拟器安装,或者在app市场安装。至此,本次的采集环境已经完成。

  数据接口分析与抓包

  环境搭建好后,我们就开始抓取抖音app的数据,分析各个函数使用的接口。本次以采集视频数据接口为例进行介绍。

  关闭之前打开的mitmdump,重新打开mitmweb工具,mitmweb是图形版的,不用找黑框,如下图:

  

  启动后打开模拟器的抖音app,可以看到已经有数据包解析出来了,然后进入用户主页,开始向下滑动视频,可以在里面找到请求视频数据的界面数据包列表

  /aweme/v1/aweme/post/

  

  右侧可以看到接口的请求数据和响应数据。我们复制响应数据,进入下一步分析。

  

  数据分析

  通过mitmproxy和python代码的结合,我们可以在代码中拿到mitmproxy中的数据包,然后我们就可以根据需要进行处理了。创建一个新的 test.py 文件并在其中放入两个方法:

  def request(flow):

pass

def response(flow):

pass

  顾名思义,这两种方法,一种在请求时执行,一种在响应时执行,数据包存在于流中。请求url可以通过flow.request.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

}

  统计信息是该视频的点赞、评论、下载、转发等数据。 share_url 是视频的分享地址。通过这个地址可以在PC端观看抖音分享的视频,也可以通过这个链接解析无水印视频。

  play_addr 是视频的播放信息。 url_list 是没有水印的地址。但是,官方处理已经完成。这个地址不能直接播放,而且有时间限制。超时后,链接将失效。有了这个aweme,你可以把里面的信息解析出来保存到自己的数据库中,或者下载无水印视频保存到自己的电脑上。

  写完代码,保存test.py文件,cmd进入命令行,进入保存test.py文件的目录,在命令行输入mitmdump -s test.py,mitmdump就会启动。此时打开应用程序。开始滑动模拟器,进入用户主页:

  

  开始连续下降,test.py文件可以解析所有捕获的视频数据。以下是我截获的部分数据信息:视频信息:

  

  视频统计:

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线