欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

抖音无水印视频爬虫(一)

程序员文章站 2024-01-01 16:21:22
...

Hello,好久没写博客啦!

    今天刷抖音,刷到了一个抖音up的视频正好能用于我之前发现的文字识别神器pytesseract。这位douyiner就是:  

抖音无水印视频爬虫(一)

想要考雅思或者有兴趣的同学可以去关注下hhh。

可以看到这位douyiner上传的视频都是配有英文字幕的,所以在把视频爬下来后可以进行抽帧然后在进行文字识别,然后再将识别出来的文字进行处理。大概的想法就是这样啦,今天摸索了一天总于可以将他的视频下载下来保存到本地啦。对今天所做的事进行一个总结吧。

一、踩坑

      其实之前也想过爬抖音的视频,但总感觉还差点意思,抖音的视频爬虫已经一大堆了,甚至还有加了人脸识别打分的抖音小姐姐视频爬虫。我再做类似的感觉没啥意思。由于是移动端软件的爬虫,一开始想用Charles代理然后爬。好不容易配置好Charles,打开抖音竟然报没有网络连接(用浏览器是可以正常上网冲浪的),这时就意识到了抖音技术可定也意识到了这种方法。(原谅我废话多,我比较无聊)第一时间想的是换一个抓包软件例如Fiddler,上网查发现Fiddler也不可以。Ok,这时候以为本次计划要失败了,突然想到抖音视频是可以以链接分享的。然后就试着用PC的Chrome打开分享链接,竟然可以打开,然后我又在想既然视频可以通过链接分享,这个douyiner是不是也可以嘞?然后试了一下发现还真可以!!上图的内容就是在PC端的Chrome打开的。

       然后一切就要以这位douyiner的分享链接:http://v.douyin.com/xE6BD3/开始,然后发现这个页面竟然可以动态加载!就去找了XHR文件(什么是XHR请自行百度哦)!然后还真有!

抖音无水印视频爬虫(一)

点开查看这个XHR:

抖音无水印视频爬虫(一)

这个XHR简直就是宝藏有没有!我想要的内容全都有了!

然后就是怎么得到这个XHR了,先看一个XHR的连接:

https://www.iesdouyin.com/web/api/v2/aweme/post/?sec_uid=MS4wLjABAAAAFxmRPZ2PiNQrL_6xOPbzh_p3Hb8cjxnsXV_VlRNgPtw&count=21&max_cursor=0&aid=1128&_signature=pavqOhAe-HeGzMG4e9aPeKWr6i&dytk=14edbb07c587ab6074ae0886a1f1b79a

对比第二个XHR链接:

https://www.iesdouyin.com/web/api/v2/aweme/post/?sec_uid=MS4wLjABAAAA54Hva6JnJrFzF1913RG4ie0agH41NPhVxKphJaQu5D0&count=21&max_cursor=0&aid=1128&_signature=pavqOhAe-HeGzMG4e9aPeKWr6i&dytk=1f056edbde30fe68a7ffb8f4e306eb92

发现只有max_cursor这个字段有差别,刚好XHR文件中有max_cursor,和has_more字段。

一开始是想着能不能伪造一个相似的链接改变一下max_cursor,发现不可以,原来是链接中的这_signature字段,然后想找生成这个_signature的js代码看看能不能写出类似的Python代码,js是找到了发现不可以(好像生成_signature的这个函数是从服务器返回的)。然后到这里这个项目又卡住啦,然后又想通过selenium直接保存这个XHR不过selenium的get_log()好像不可以。又查了一下,发现了selenium加browsermobproxy可以!感谢这篇博客:Selenium, Browsermob-Proxy 抓取浏览器network console的HAR

还有一个坑就是分享链接是短链接 ,直接用requests会报502。至此逻辑踩坑完毕。

整理大致过程就是:

selenium加browsermobproxy得到第一个max_cursor=0的XHR——>根据XHR里的has_more和max_cursor字段拼凑新的XHR的URL,反复如此直到has_more为false-——>获得所有XHR的内容从中抽取出视频名字和视频链接——>下载视频到本地。

大致过程就是这样啦,为了避免博客篇幅过长我把这次博客分成好几篇,想要看完整的就关注我把!hhh

其实在写这篇博客时代码还在跑,可能还会有什么bug就先不发代码了。

先附上爬虫结果:

抖音无水印视频爬虫(一)抖音无水印视频爬虫(一)

 

上一篇:

下一篇: