抖音爬蟲 | 手把手教你下載指定的Douyin)號的視頻
作者 | loadchange
整理 | Xiaowen
原文 | 專知
鏈接:
https://github.com/LoadChange/amemv-crawler
這是一個Python的腳本,配置運行後可以下載指定抖音用戶的全部視頻(含收藏),也可以下載指定主題(挑戰)或音樂下的全部視頻。
這個項目是一個
練手項目
,源碼僅作為和大家一起
學習Python
使用,你可以免費: 拷貝、分發和派生當前源碼。
你不可以用於
商業目的及其他
惡意用途。
另外本項目要完成的功能是將視頻成功下載,有一些朋友在
issue
中提出了一些超預期的需求,比如視頻改名、下載圖片、視頻寬高、發布數據和播放點贊等等, 這些完善可能是對項目十分有利的,但是我沒有時間去一一處理,所以對於這樣的需求請不要在發issue上來了,可以直接提 Pull requests 上來。
還有一些是對 as、 cp 、mas 的探討,對於這些也不在我們的項目範圍內,最後是服務端對抓取的一些限制,如抓取頻率、IP等等,如果你遇到了這樣的問題, 可能你的下載量已經超出了
學習目的
,對此我也拒絕支持並表示非常抱歉。對於上述所不支持的問題以外,歡迎大家多提issue,同時也僅支持在 issues 中反饋問題, 使用 email 和我聯繫的同學,以後我就不在回復啦,私人郵箱很少登錄,回復也不及時,哈哈。
??
最後希望和大家共同學習和進步。
環境安裝
程序猿和程序媛見這裡
配置好你的Python、node環境,然後
pip install requests
.
或者
$ git clone https://github.com/loadchange/amemv-crawler.git$
cd
amemv-crawler$ pip install -r requirements.txt大功告成,直接跳到下一節配置和運行.
配置和運行
有兩種方式來指定你要下載的抖音號分享鏈接,一是編輯
share-url.txt
,二是指定命令行參數.
第一種方法:編輯share-url.txt文件
找到一個文字編輯器,然後打開文件
share-url.txt
,把你想要下載的抖音號分享鏈接編輯進去,以逗號/空格/tab/表格鍵/回車符分隔,可以多行.例如, 這個文件看起來是這樣的:
https://www.douyin.com/share/user/85860189461?share_type=link&tt_from=weixin&utm_source=weixin&utm_medium=aweme_ios&utm_campaign=client_share&uid=97193379950&did=30337873848,https://www.iesdouyin.com/share/challenge/1593608573838339?utm_campaign=clien,https://www.iesdouyin.com/share/music/6536362398318922509?utm_campaign=client_share&app=aweme&utm_medium=ios&iid=30337873848&utm_source=copy
獲取用戶分享鏈接的方法(挑戰、音樂 類似)
然後保存文件,雙擊運行
amemv-video-ripper.py
或者在終端(terminal)裡面 運行
python amemv-video-ripper.py
第二種方法:使用命令行參數(僅針對會使用操作系統終端的用戶)
如果你對Windows或者Unix系統的命令行很熟悉,你可以通過指定運行時的命令行參數來指定要下載的站點:
某些平台下注意給URL增加引號
python amemv-video-ripper.py URL1,URL2
分享鏈接以逗號分隔,不要有空格.
視頻的下載與保存
程序運行後,會默認在當前路徑下面生成一個跟抖音ID名字相同的文件夾, 視頻都會放在這個文件夾下面.
運行這個腳本,不會重複下載已經下載過的視頻,所以不用擔心重複下載的問題.同時,多次運行可以 幫你找回丟失的或者刪除的視頻.
然後重新運行下載命令.
高級應用
如果你想下載整個挑戰主題,請在 share-url.txt 文件中添加 挑戰的分享URL
如果你想下載按音樂去下載,請在 share-url.txt 文件中添加 音樂的分享URL
如下: 既為抖音號、挑戰主題和音樂的三種爬蟲方式,需要注意的是,爬蟲只對搜索結果第一的結果進行下載,所以請盡量完整的寫出你的 主題或音樂名稱。
https://www.douyin.com/share/user/85860189461?share_type=link&tt_from=weixin&utm_source=weixin&utm_medium=aweme_ios&utm_campaign=client_share&uid=97193379950&did=30337873848,https://www.iesdouyin.com/share/challenge/1593608573838339?utm_campaign=clien,https://www.iesdouyin.com/share/music/6536362398318922509?utm_campaign=client_share&app=aweme&utm_medium=ios&iid=30337873848&utm_source=copy
短地址的情況
http://v.douyin.com/cDo2P/,http://v.douyin.com/cFuAN/,http://v.douyin.com/cMdjU/
處理意外
2018-04-14 用戶列表介面新增欄位_signature,該欄位是由
douyin_falcon:node_modules/byted-acrawler/dist/runtime
生成的,所以我們需要先
fuck byted-acrawler
一下,拿到signature,才能繼續前行。請安裝好python的環境之後 順手安裝node 以便順利的
fuck byted-acrawler
2018-06-22 分享出現短地址,解決辦法:讀取到
v.douyin.com
的任務時,嘗試請求,在302的情況下取Response Headers中Location。2018-07-02 更新了
douyin_falcon:node_modules/byted-acrawler/dist/runtime
,我們保持同步更新fuck-byted-acrawler.js
!2018-07-12 用戶視頻介面
https://www.douyin.com/aweme/v1/aweme/post/
增加參數dytk, 這個參數在頁面中直接取。2018-09-03 修正用戶視頻列表介面域名
douyin.com
toamemv.com
2018-09-25 抖音關閉原無水印720P下載地址,臨時降級為有水印方案
2018-10-01 恢復無水印下載
2018-11-20 海外版
Tik Tok
切換無水印視頻源
推薦閱讀
2019年跳槽BATJ,準備好了嗎?和一線大佬面對面!
資源 | 正則表達式的功法大全
春節假期十大AI事件,看看你都錯過了啥
GitHub不為人知的小秘密…讓你的工作更高效
畢業論文無從下手?一文幫你理清頭緒
Python可視化神器——pyecharts的超詳細使用指南!