今天小編和大家一起來爬取當(dāng)下大火的APP--抖音,批量下載一個(gè)用戶發(fā)布的所有視頻。各位也應(yīng)該知道,抖音只有移動(dòng)端,官網(wǎng)打開除了給你個(gè)APP下載二維碼啥也沒有,所以相比爬PC網(wǎng)站,還是遇到了更多的問題,也花了更多的時(shí)間,不過好在基本實(shí)現(xiàn)了,除了一點(diǎn)咱在后面說。
思路梳理
其實(shí)如果看了其他博主爬抖音的教程就發(fā)現(xiàn),大部分都是通過fildder手機(jī)抓包來獲取接口地址等信息,其實(shí)不用那么麻煩,我們通過分享選擇鏈接形式就可以獲取到信息:
然后電腦訪問這個(gè)鏈接,就可以打開頁面了,不過很快我們就會(huì)發(fā)現(xiàn)一個(gè)問題,電腦訪問這個(gè)地址發(fā)布視頻是空的:
谷歌Chrome瀏覽器有一個(gè)模擬手機(jī)訪問的功能,我們選在iPhone X模式來訪問頁面,果然看到發(fā)布的視頻了:
我們接下來看下后臺(tái)請求,不多,很快就找到我們需要的視頻信息了,也能直接打開觀看視頻,到這感覺已經(jīng)成功了一大半了:
但很快我們有發(fā)現(xiàn)了新問題,可以看到莉哥總共發(fā)布了93個(gè)作品,但我們實(shí)際獲取到但鏈接只有19個(gè)。其實(shí)我們用過抖音,包括微博這些應(yīng)用的都知道,很多信息他們不是一次加載完的,當(dāng)你拖動(dòng)頁面的時(shí)候才會(huì)繼續(xù)加載。所以我們嘗試上拉頁面,就會(huì)發(fā)現(xiàn)后臺(tái)又多了一個(gè)請求,返回了新加載的視頻信息。
https://www.amemv.com/aweme/v1/aweme/post/?user_id=57720812347&count=21&max_cursor=0&aid=1128&_signature=KRLTTRAdclaWZCKrElzZVykS01&dytk=4830f6e279a5f53872aab9e9dc112d33 https://www.amemv.com/aweme/v1/aweme/post/?user_id=57720812347&count=21&max_cursor=1530363175000&aid=1128&_signature=KRLTTRAdclaWZCKrElzZVykS01&dytk=4830f6e279a5f53872aab9e9dc112d33
兩個(gè)地址除了max_cursor其他都一樣,其實(shí)就是上一條返回的json數(shù)據(jù)中的max_cursor就是下個(gè)鏈接中的max_cursor,然后has_more等于1的時(shí)候表示還未全部加載,這樣邏輯就清楚了,我們只要先判斷has_more是否等于1,等于1的時(shí)候我們將max_cursor的值傳入下一個(gè)鏈接繼續(xù)訪問獲取視頻地址,直到has_more等于0為止。
這樣所有視頻地址都有了,就開始下載吧??!
以上文章來源于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系創(chuàng)一網(wǎng)的客服處理。謝謝!