「docker实战篇」python的docker- 抖音视频抓取(上)(24)
admin
2023-04-03 08:01:22
0次

上节主要说了通过多模拟器的并行进行数据的抓取,在没有docker环境的情况下,本次主要针对抖音的视频数据进行抓取,无论你是个人喜好,还是项目需求,大家对抖音的视频数据都很感兴趣,比如喜欢那个漂亮的×××姐都想把他的视频保存下来,方便日后的观看,慢慢的膝上。上次说的appium完成抖音粉丝数据的抓取其实也可以完成抖音视频数据的抓取,抓取的思路也是想通,通过mitmdump进行数据解析,appium模拟滑动。如果一台设备抓取比较慢,可以用多台模拟器来进行抓取。这次主要用的另一种方式来进行抓取。

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

(一)分析分享页面

谷歌浏览器打开:https://www.douyin.com/share/user/89923219116

  • 1.1刷新页面

    按照图例步骤查看返回的数据
    url地址:https://www.douyin.com/aweme/v1/aweme/post/?user_id=89923219116&count=21&max_cursor=0&aid=1128&_signature=HTvXTBAUQVTTUFGelHo.NB0711&dytk=2be712bf2e309b4b7947b459667ea3a1

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

  • 1.2 json.cn中查看返回的数据格式

    1.2.1返回了10条

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.2发现解析发现

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.3 打开https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0200f0e0000bhlo7ff2gdds3j6apkfg&line=0

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.4 也就是通过 https://www.douyin.com/aweme/v1/aweme/post/?user_id=89923219116&count=21&max_cursor=0&aid=1128&_signature=HTvXTBAUQVTTUFGelHo.NB0711&dytk=2be712bf2e309b4b7947b459667ea3a1 可以获取视频的地址

1.2.5 解析里面的参数

https://www.douyin.com/aweme/v1/aweme/post/?
user_id=89923219116&
count=21&
max_cursor=0&
aid=1128&
_signature=4vFoMhAYvqksmu7gHnkAsuLxaC&
dytk=2be712bf2e309b4b7947b459667ea3a1

1.2.6里面一共6个参数

user_id
count
max_cursor
aid
_signature
dytk

1.2.7 下一步就是找到这6个参数的缘由从哪里获取到的。
肯定有老铁问,既然地址就知道了,直接用地址获取不完了,那么麻烦干啥? 我来截图解密,因为url地址是有时效性的

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.1 user_id 是url中的最后一个字段,可以直接获取

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.2 count 直接写死 21

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.3 max_cursor 直接写死 0,获取写时间戳

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.4 aid 直接写死 1128

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.5 dytk 直接可以通过页面获取,通过正则表达式

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.6 _signature 比较麻烦,这里一起分析下

1.2.7.6.1 查询_signature的信息,搜索:_signature

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.6.2 点击搜索出来的2个文件中的第一个,然后按照我说的步骤点击

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.6.3 输入ctrl+f 输入_signature 查询,发现_signature = signature 通过signature赋值过来的。

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.6.4 signature 查找出来3个地方

初始化

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

赋值signature

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.signature = _bytedAcrawler.sign(nonce),
2.nonce 其实就是user_id,user_id在页面已经获取到了
3.需要了解下_bytedAcrawler.sign

1.2.7.6.5 _bytedAcrawler 怎么来的,在通过ctrl+f
_bytedAcrawler = require("douyin_falcon:node_modules/byted-acrawler/dist/runtime")

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.6.5 douyin_falcon:node_modules/byted-acrawler/dist/runtime 又是怎么来的

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.6.6 点击查找 douyin_falcon:node_modules/byted-acrawler/dist/runtime 对应的文件,发现是通过这个方法。还混淆了。

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.6.7 下图箭头处【双击】 就可以将源码里面的混淆,进行浏览器的解析成为代码。

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.7.6.8 下面的是高混淆的,无法解密的。

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

1.2.6.9 了解M的源码,经过分析(具体咋分析,根据名称经验和代码),找到base.js原来就是M的定义

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

PS:下一步说说解析这块,如何破解获取到_signature

「docker实战篇」python的docker- 抖音视频抓取(上)(24)

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...