python爬取抖音视频数据,Python爬取抖音短视频

  python爬取抖音视频数据,Python爬取抖音短视频

  声明:本教程仅供学习,不能用商业手机操作。首先,打开Tik Tok,找到作者的主页:

  以我们的天王“刘德华”Tik Tok为例。

  第一步。点击右上角的“…”,点击分享如下:

  然后复制链接如下图所示:

  电脑操作通过浏览器打开我们在手机上复制的链接:

  我们刮了下来,发现没有真正的页面内容:

  这是因为Tik Tok最近增加了网页隐藏功能。当我们打开解析页面的时候,也可以发现相关的内容只是一个大概的框架,并没有真正的内容。

  要解决这个问题,我们可以反复刷新网页(后面的代码实现部分也有相应的解决方案):

  通过成功刷新上面的图片,我们可以知道这是正确的解析页面。

  接下来可以分析一下细分。

  首先,展开“aweme_list”列表进行查看,我们不难发现:

  有三行数据,即三个视频,“desc”对应的参数是抖音视频的标题。

  让我们打开其中一个标签进行进一步研究,找到它,如下图所示:

  出现“视频”标签,通过英文翻译意思是“视频”。

  我们继续深入挖掘这个标签,它的下一级标签如下图所示:

  我们还可以找到“play_addr_lowbr”的标签,展开后如下图所示:

  展开如上图的“url_list”标签,即视频的访问地址。

  我们只需要第一个链接,复制后用浏览器打开,如下图:

  我们看到了没有水印的视频,也就是我们需要的视频。

  网页分析结束,然后是代码。

  代码所需的一些相关python库是:requests和json。

  导入请求导入json#抖音视频URL URL= 3359 www.iesdouyin.com/web/API/v2/aweme/post/? sec _ uid=ms 4 wljabaaaau 7 ibxrilf-gsbf 5 qka 1 op 9 hxcmapvmzmxwxqqvmfrhscount=21 max _ cursor=0 aid=1128 _ signature=rrfsdqaazq . dr 1 higsyhia 6 xuhdytk= headers={ User-Agent : Mozilla/5.0(Macintosh;Intel Mac OS X 11 _ 1 _ 0)apple WebKit/537.36(KHTML,像壁虎一样)Chrome/88 . 0 . 4324 . 96 Safari/537.36 } # Call get in请求获取Tik Tok作者主页的网页链接r=requests.get (URL=URL,headers=headers,stream=true) #输出访问状态,如果是200,则访问成功打印(初始访问状态:,r)#用json data解析获得的网页内容_ js我们可以通过以下方式检查键名print(data_json.keys())#pd参数是否为布尔型参数。data _ json [aweme_list]=[]用于判断 aweme_list 的下一级内容是否为空。如果为空,则为真PD=data _ JSON [aweme_list]=[] #接下来,我们用一个循环来解决前面提到的“隐藏内容”问题,而pd==True:#只要“aweme_list”的下一级内容为空,我们就会反复访问作者主页链接,跳出循环R=requests.get (URL=URL,headers=headers, stream=true)data _ JSON=JSON . loads(r . text)PD=data _ JSON[ awe me _ list ]=[]#下一级内容不为空,转到范围内I的下一级标签(len(data _ JSON[ awe me _ list ]):print(data _ JSON[ awe me _ list ][I][ video ][ play _ addr _ low br ][ URL _ list ][0]

  “头”内容是“头”下“请求头”中的“用户代理”:

  上述代码的运行结果如下图所示:

  通过上图,我们发现已经成功获取了作者作品的所有链接。

  下一步是将它下载到您自己的计算机上:

  # Path=///desktop/ for I in range(len(data _ JSON[ awe me _ list ]),我们要保存视频文件的主路径:# URL _ 1 URL _ 1=data _ JSON[ awe me _ list ][I][ play _ addr _ low br ][ URL _ list ][0]# TT=data _ JSON[ awe me _ list ][I][ desc ]# requests发送浏览器发送get请求, 并获取数据r=requests . get(URL=URL _ Ers=headers,stream=true) print (r) #输出r访问状态#获取数据的二进制长度response _ body _ length=int(r . headers . get( content-length )#打印数据的长度(视频的数据长度为:,Reponse _ body _ lent) # path _ 1为完整文件保存路径path_1=path t .mp4#保存抖音mp4格式的音视频, open(path_1,Wb’)为xh的二进制read首先为r.iter _ content中的chunk定义初始进度为0 write _ all=0(chunk _ size=100000):write _ all=xh . write(chunk)# print下载进度print(下载进度: 6f%%% (100 *)

  如上图所示,下载后我们可以找到爬在桌面上的无痕抖音文件(我的路径参数指向桌面,路径可以自己修改)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: