導(dǎo)讀:本文介紹了如何使用簡(jiǎn)單的Python爬蟲爬取抖音上你喜歡的拍客的所有視頻(包含有水印和無(wú)水印兩種)。代碼已上傳至公眾號(hào)后臺(tái),回復(fù):抖音 即可獲得。 01 獲取你喜歡的拍客的視頻url 即抖音用戶主頁(yè)的url,我將以羅永浩的主頁(yè)連接為例(本人第一次下載抖音就是沖著羅永浩去的,所以也只關(guān)注了他一個(gè)人)打開抖音,點(diǎn)進(jìn)用戶的主頁(yè)面,點(diǎn)擊右上角的三個(gè)點(diǎn): 選擇分享: 再點(diǎn)擊復(fù)制鏈接即可,我們可以獲取如下url: https://v.douyin.com/JJ8b6Hq/ 2. 獲取重定向鏈接 我們只需要將上面這個(gè)鏈接粘貼到chrome瀏覽器,就可以獲取到重定向鏈接 重定向后的鏈接: https://www.iesdouyin.com/share/user/4195355415549012?u_code=c23d6456gli&sec_uid=MS4wLjABAAAAlwXCzzm7SmBfdZAsqQ_wVVUbpTvUSX1WC_x8HAjMa3gLb88-MwKL7s4OqlYntX4r×tamp=1590603009&utm_source=copy&utm_campaign=client_share&utm_medium=android&share_app_name=douyin 現(xiàn)在我們需要記住url中/user后面的一串?dāng)?shù)字,也就是4195355415549012,這是我們的用戶id。以后只要有了這樣的用戶ID,直接替換進(jìn)url即可(時(shí)間戳也需要修改一下) 02 獲取用戶下面的所有的視頻id 我們剛剛獲取了視頻主頁(yè)的鏈接,現(xiàn)在我們要通過(guò)主頁(yè)鏈接來(lái)獲取當(dāng)前頁(yè)面下的所有視頻。為了方便我們觀看和調(diào)試,我們將Chrome開成iPhone模式。 1. 獲取請(qǐng)求鏈接 將Network設(shè)置成XHR,重新刷新一下頁(yè)面,獲取請(qǐng)求內(nèi)容: 我們可以看到上面選中的那個(gè)請(qǐng)求,返回的是一串json,我們將內(nèi)容復(fù)制下來(lái)看看,搜索返回的json中有關(guān)video的字段,通過(guò)下圖我們就可以看到video里面有個(gè)url_list,里面有兩個(gè)不同的url,這兩個(gè)url其實(shí)就是視頻相關(guān)的地址了,但是還有點(diǎn)問(wèn)題,這兩個(gè)url點(diǎn)進(jìn)去并不能直接看到視頻。 2. 獲取視頻鏈接 這里我們需要將url做一點(diǎn)點(diǎn)修改。我們將/play修改成/playmw就可以了,這個(gè)時(shí)候我們發(fā)現(xiàn),這兩個(gè)視頻地址被重定向成正常的視頻地址了。(下面來(lái)說(shuō)為什么要加mw,這個(gè)代表什么) 這樣我們就相當(dāng)于順利拿到視頻的地址了,我們可以去json中獲取所有的視頻url鏈接: pattern = re.compile(''(https://aweme./aweme/v1/play/.*?)'') 3. 水印問(wèn)題 關(guān)于水印問(wèn)題,看了簡(jiǎn)書上有篇文章有介紹,水印與無(wú)水印之間的區(qū)別,這邊我就不作詳細(xì)介紹了。其實(shí)我們一開始拿到的url就是無(wú)水印的,但是鏈接本身并沒重定向到無(wú)水印的視頻,加上wm之后,url會(huì)重定向到有水印的視頻。 簡(jiǎn)書參考鏈接: https://www.jianshu.com/p/af02f00729c5 水印鏈接: https://aweme./aweme/v1/playwm/?video_id=v0200fc60000br74l173cp5c4comdoh0&line=0 無(wú)水印鏈接: https://aweme./aweme/v1/play/?video_id=v0200fc60000br74l173cp5c4comdoh0&line=0 (多余的參數(shù)忽略,不管他) 03 下載視頻 有了視頻鏈接和獲取有無(wú)水印的方法之后,我們就可以直接下載視頻了。
關(guān)于單個(gè)視頻下載,如果你想下載某單個(gè)無(wú)水印視頻,可以直接通過(guò)分享鏈接進(jìn)行下載: url = 'https://v.douyin.com/JJ8kVTc/' # 分享鏈接 04 結(jié)語(yǔ)本文首先通過(guò)分享鏈接來(lái)獲取接口數(shù)據(jù),之后在接口數(shù)據(jù)中查找視頻數(shù)據(jù),找到視頻內(nèi)容之后再完成視頻下載。爬取過(guò)程非常的簡(jiǎn)單,主要就是查找ID會(huì)比較吃力。適合爬蟲的新手。 以上,便是今天的內(nèi)容,希望大家喜歡,歡迎「轉(zhuǎn)發(fā)」或者點(diǎn)擊「在看」支持,謝謝各位~ |
|