日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

用Python下载抖音无水印视频!

發(fā)布時(shí)間:2023/12/29 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Python下载抖音无水印视频! 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

不知不覺距離小F最開始寫的一篇抖音文章,時(shí)間也過了一年。

  • 用Python全自動(dòng)下載抖音視頻!

上面這一篇閱讀量是所有文章中閱讀量最高的,當(dāng)然還有另外兩篇相關(guān)的。

  • 用Python生成抖音字符視頻!

  • 用數(shù)據(jù)分析大家最喜歡什么類型的抖音視頻。

除了感慨時(shí)間過的快之外,真的無它~

最近發(fā)現(xiàn)了抖音無水印視頻的下載方法。

所以就來記錄一下,小F也已經(jīng)部署到服務(wù)器上,歡迎大家使用。

#?抖音接口 https://www.fanasite.xyz/douyin/?url=https://v.douyin.com/CoQBx1/

「url」參數(shù)值就是從抖音上復(fù)制的鏈接。

后面會(huì)放到我的小程序中,歡迎大家收藏使用。

/ 01 / Python下載

首先來看一下,直接訪問抖音鏈接得到的結(jié)果。

妥妥的水印...

接下來打開瀏覽器的開發(fā)者工具,看看視頻的地址。

可以發(fā)現(xiàn)「playAddr」就是視頻的地址,復(fù)制然后訪問。

鏈接會(huì)重定向到以「v9」開頭的鏈接,然而還是有水印。

接下來就是重點(diǎn)了,首先你需要讓你的瀏覽器能夠修改UA,即爬蟲經(jīng)常用到的「User-Agent」。

我用的是Mac+谷歌瀏覽器,就說說我自己怎么修改的。

Windows的請(qǐng)自行百度~

首先在電腦的文稿中創(chuàng)建一個(gè)文件夾。

這個(gè)文件夾的路徑如下。

/Users/star-river/Documents/MyChrome

并且在根目錄的終端運(yùn)行下面這段代碼。

open?-n?/Applications/Google\?Chrome.app/?--args?--disable-web-security?--user-data-dir=/Users/star-river/Documents/MyChrome

如此我的谷歌瀏覽器就能成功更換UA啦!

還是直接訪問抖音的鏈接,可以看到結(jié)果和最初的不一樣。

就在這個(gè)模式下查找接口。

發(fā)現(xiàn)「?item_ids」開頭的這個(gè)接口就包含了我們想要的無水印抖音視頻。

就是「play_addr」下的列表中的那兩個(gè)鏈接。

其中「?item_ids」開頭的這個(gè)接口有兩個(gè)參數(shù)需要我們?cè)诹硪粋€(gè)接口中獲取。

這樣「item_ids」和「dytk」參數(shù)值我們也知道了。

不過我們直接用瀏覽器訪問獲取到的那兩個(gè)鏈接是不會(huì)直接出現(xiàn)視頻的,需要和上面的一樣。

也改變一下UA,這里的鏈接如果還用「iPhone X」這個(gè)UA訪問,會(huì)失敗。

什么原因,小F就不得而知了...

把瀏覽器UA改為「Responsive」即可訪問,鏈接會(huì)重定向。

這樣無水印的抖音視頻就搞定了。

不過要是每個(gè)視頻都需要這么下載,就太麻煩了。

所以小F寫了用Python就可以下載視頻的代碼。

import?requests import?json import?reheaders?=?{'accept':?'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','accept-encoding':?'gzip,?deflate,?br','accept-language':?'zh-CN,zh;q=0.9,en;q=0.8','cache-control':?'max-age=0',#?這個(gè)貌似很重要'User-Agent':?'Mozilla/5.0?(Linux;?Android?6.0;?Nexus?5?Build/MRA58N)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/78.0.3904.108?Mobile?Safari/537.36', }def?download(url):"""下載抖音無水印視頻"""#?獲取接口參數(shù)html?=?requests.get(url=url,?headers=headers)title?=?re.findall('itemId:?"(.*?)",',?html.text)[0]dytk?=?re.findall('dytk:?"(.*?)"?}',?html.text)[0]#?拼接接口url_item?=?'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids='?+?title?+?'&dytk='?+?dytk#?獲取抖音無水印視頻鏈接html_item?=?requests.get(url=url_item,?headers=headers)#?字符串轉(zhuǎn)字典content?=?json.loads(html_item.text)#?視頻接口url_video?=?content['item_list'][0]['video']['play_addr']['url_list'][1]response?=?requests.get(url_video,?headers=headers,?allow_redirects=True)#?獲取重定向后的鏈接,這個(gè)也是無水印視頻的下載鏈接,不過本次沒用redirect?=?response.urlprint(redirect)#?視頻是二進(jìn)制,需要這種下載辦法video?=?requests.get(url_video,?headers=headers).contentvideo_name?=?"douyin.mp4"with?open(video_name,?'wb')?as?f:f.write(video)f.flush()print("下載完成")if?__name__?==?'__main__':#?抖音鏈接url?=?'https://v.douyin.com/XJj85H/'download(url)

無水印視頻完美下載。

/ 02 / 接口下載

既然知道了如何用Python下載視頻。

那么小F想讓大家下載的更方便一點(diǎn),所以將程序部署到了服務(wù)器上。

你只需要通過小F的接口即可下載視頻,代碼如下。

from?flask?import?Flask,?request,?send_file import?requests import?json import?reapp?=?Flask(__name__)#?只接受get方法訪問 @app.route("/douyin/",?methods=["GET"]) def?check():headers?=?{'accept':?'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','accept-encoding':?'gzip,?deflate,?br','accept-language':?'zh-CN,zh;q=0.9,en;q=0.8','cache-control':?'max-age=0','User-Agent':?'Mozilla/5.0?(Linux;?Android?6.0;?Nexus?5?Build/MRA58N)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/78.0.3904.108?Mobile?Safari/537.36',}#?默認(rèn)返回內(nèi)容return_dict?=?{'code':?1,?'result':?False,?'msg':?'請(qǐng)求成功'}#?判斷入?yún)⑹欠駷榭読f?request.args?is?None:return_dict['return_code']?=?'504'return_dict['return_info']?=?'請(qǐng)求參數(shù)為空'return?json.dumps(return_dict,?ensure_ascii=False)#?獲取傳入的參數(shù)get_data?=?request.args.to_dict()url?=?get_data.get('url')#?獲取接口參數(shù)html?=?requests.get(url=url,?headers=headers)title?=?re.findall('itemId:?"(.*?)",',?html.text)[0]dytk?=?re.findall('dytk:?"(.*?)"?}',?html.text)[0]#?拼接接口url_item?=?'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids='?+?title?+?'&dytk='?+?dytk#?獲取抖音無水印視頻鏈接html_item?=?requests.get(url=url_item,?headers=headers)#?字符串轉(zhuǎn)字典content?=?json.loads(html_item.text)#?獲取視頻相關(guān)的信息#?data?=?{}#?視頻的描述#?data['videoDesc']?=?content['item_list'][0]['desc']#?視頻的封面圖,小圖#?data['dynamiCoverUrl']?=?content['item_list'][0]['video']['dynamic_cover']['url_list'][0]#?視頻的封面圖,大圖#?data['staticCoverUrl']?=?content['item_list'][0]['video']['origin_cover']['url_list'][0]#?視頻的評(píng)論數(shù)#?data['comments']?=?content['item_list'][0]['statistics']['comment_count']#?視頻的點(diǎn)贊數(shù)#?data['prise']?=?content['item_list'][0]['statistics']['digg_count']#?視頻接口url_video?=?content['item_list'][0]['video']['play_addr']['url_list'][1]response?=?requests.get(url_video,?headers=headers,?allow_redirects=True)#?獲取重定向后的鏈接,這個(gè)也是無水印視頻的下載鏈接,不過本次沒用redirect?=?response.url#?print(redirect)#?視頻的下載鏈接#?data['videoPlayAddr']?=?redirect#?返回視頻的信息#?return_dict['result']?=?data#?返回結(jié)果#?return?json.dumps(return_dict,?ensure_ascii=False)video?=?requests.get(url=redirect,?headers=headers).contentvideo_name?=?"douyin.mp4"with?open(video_name,?'wb')?as?f:f.write(video)f.flush()return?send_file('douyin.mp4')if?__name__?==?"__main__":#?本地調(diào)試app.run(debug=True)#?部署上線#?app.run(host='127.0.0.1',?port=443)

如果本地安裝了Flask以及Requests庫(kù),這個(gè)程序是可以直接運(yùn)行。

并且能夠下載到你所想要的無水印抖音視頻。

#?本地接口 http://127.0.0.1:500/douyin/?url=https://v.douyin.com/CoQBx1/

部署到服務(wù)器上的話,則需要使用443端口。

具體操作可以看之前幾篇的推文,這里不細(xì)說。

原本是部署在33550端口,但是小程序中的接口使用有要求。

不能使用帶有端口號(hào)的接口,所以就使用443端口,默認(rèn)域名訪問。

/ 03 / 總結(jié)

還是那句話~

少刷抖音,多看書,一點(diǎn)毛病也沒有。

萬水千山總是情,點(diǎn)個(gè)「好看」行不行。

推薦閱讀

···? END? ···

支持小F原創(chuàng)???

總結(jié)

以上是生活随笔為你收集整理的用Python下载抖音无水印视频!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。