中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

「docker實戰篇」python的docker- 抖音視頻抓取(上)(24)

發布時間:2020-08-06 13:17:04 來源:網絡 閱讀:779 作者:IT人故事 欄目:云計算

上節主要說了通過多模擬器的并行進行數據的抓取,在沒有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)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张家口市| 阳信县| 乐亭县| 沙坪坝区| 井冈山市| 定远县| 英山县| 阳城县| 策勒县| 邹平县| 普洱| 无锡市| 柯坪县| 红桥区| 盐源县| 准格尔旗| 忻城县| 镇原县| 原平市| 桓台县| 天等县| 上思县| 蒙山县| 淅川县| 吉安县| 光泽县| 延寿县| 上虞市| 高平市| 剑河县| 方城县| 专栏| 小金县| 丹江口市| 南澳县| 北京市| 织金县| 山西省| 新建县| 富源县| 会宁县|