Python 帶你采集無水印視頻內(nèi)容,把你喜歡的視頻保存~

前言

嗨嘍戈二!大家好呀舒裤,這里是魔王~

一個幫助用戶表達自我,記錄的視頻平臺【蹩裕●記錄美好腾供、智能匹配音樂、一鍵卡點視頻,超多原創(chuàng)鲜滩、濾鏡伴鳖、場景切換幫你...

今天我們就來用Python 采集無水印視頻內(nèi)容

環(huán)境介紹:

  • python 3.8 解釋器
  • pycharm 2021專業(yè)版 >>> 激活碼 編輯器
  • 谷歌瀏覽器
  • 谷歌驅(qū)動
  • selenium >>> 驅(qū)動 >>> 瀏覽器

模塊使用]:

采集一個視頻

  • requests >>> pip install requests
  • re

采集多個視頻

  • selenium >>> pip install selenium==3.141.0 (3.141.0) 指定模塊版本去安裝
    使用這個模塊安裝瀏覽器驅(qū)動
  • time

模塊安裝問題:

如果安裝python第三方模塊:

    1. win + R 輸入 cmd 點擊確定, 輸入安裝命令 pip install 模塊名 (pip install requests) 回車
    2. 在pycharm中點擊Terminal(終端) 輸入安裝命令

安裝失敗原因


如何配置pycharm里面的python解釋器?

  1. 選擇file(文件) >>> setting(設(shè)置) >>> Project(項目) >>> python interpreter(python解釋器)
  2. 點擊齒輪, 選擇add
  3. 添加python安裝路徑

pycharm如何安裝插件?

  1. 選擇file(文件) >>> setting(設(shè)置) >>> Plugins(插件)
  2. 點擊 Marketplace 輸入想要安裝的插件名字 比如:翻譯插件 輸入 translation / 漢化插件 輸入 Chinese
  3. 選擇相應(yīng)的插件點擊 install(安裝) 即可
  4. 安裝成功之后 是會彈出 重啟pycharm的選項 點擊確定, 重啟即可生效

爬蟲實現(xiàn)思路流程: (****)

一. 數(shù)據(jù)來源分析

  1. 確定爬取的內(nèi)容是什么?
    爬取抖音視頻內(nèi)容
  2. 通過開發(fā)者工具進行抓包分析 F12 或者 鼠標右鍵點擊插件選擇network
    I. 通過分析已經(jīng)找到播放地址
    II. 去分析, 播放地址可以從什么獲取
    對于視頻播放url地址 進行一次轉(zhuǎn)碼 *** >>> 等會提取的時候 需要進行解碼

二. 代碼實現(xiàn)步驟過程

  1. 發(fā)送請求, 用python代碼模擬瀏覽器去發(fā)送請求
  2. 獲取數(shù)據(jù), 獲取服務(wù)器返回響應(yīng)數(shù)據(jù)
  3. 解析數(shù)據(jù), 提取視頻url地址 以及 視頻標題
  4. 保存數(shù)據(jù), 保存數(shù)據(jù)到本地

開始我們的代碼

導(dǎo)入模塊

# 導(dǎo)入數(shù)據(jù)請求模塊
import requests  # pip install requests  win + R 輸入cmd
# 導(dǎo)入正則
import re  # 內(nèi)置模塊 不需要大家去安裝
import time  # 時間模塊
from selenium import webdriver  # pip install selenium==3.141.0

代碼

def drop_down():
    """執(zhí)行頁面滾動的操作"""  # javascript
    for x in range(1, 30, 4):  # 1 3 5 7 9  在你不斷的下拉過程中, 頁面高度也會變的
        time.sleep(1)
        j = x / 9  # 1/9  3/9  5/9  9/9
        # document.documentElement.scrollTop  指定滾動條的位置
        # document.documentElement.scrollHeight 獲取瀏覽器頁面的最大高度
        js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight * %f' % j
        driver.execute_script(js)


# 人怎么去操作瀏覽器的, 就怎么寫代碼...
# 1. 打開一個瀏覽器或者下載一個瀏覽器吧 創(chuàng)建瀏覽器對象(實例化一個瀏覽器對象)
driver = webdriver.Chrome()
# 2. 輸入一個網(wǎng)址 請求網(wǎng)址
driver.get('https://www.douyin.com/user/MS4wLjABAAAA4N4OrZzTSmCPp8vVAqCeyU215Kav2JgFv2Lfy4DNWRs')
driver.implicitly_wait(10)
# 3. 提取所有l(wèi)i標簽 返回列表
# drop_down()
lis = driver.find_elements_by_css_selector('.ECMy_Zdt')
for li in lis:
    html_url = li.find_element_by_css_selector('a').get_attribute('href')
    print(html_url)
    #  1. 發(fā)送請求, 用python代碼模擬瀏覽器去發(fā)送請求
    # url = 'https://www.douyin.com/video/7066324040335592738'
    # headers 作用 偽裝python代碼 偽裝成瀏覽器 user-agent: 用戶代理 瀏覽器基本身份標識  cookie 用于檢測用戶信息, 是否有登陸賬號
    headers = {
        'cookie': 'douyin.com; ttcid=444dfe8e89ff4d99b0662076ad171c8775; ttwid=1%7CTnFKlrGi3lHjKf5bshFdP9Nwu_Vsiwo-TxvX9NISgj8%7C1642083887%7Cfbfa904ea2900763eb6ac090bdd09014d80840da1ca485bbfea193d5401b330e; MONITOR_WEB_ID=6d75c626-96a0-4270-ac18-aa0090b5bdb8; MONITOR_DEVICE_ID=341246a2-17c2-4c11-9c70-3ffd2cda0ffa; MONITOR_WEB_ID=c27b9f4a-4917-4256-be93-e948308467e3; odin_tt=0510c3c4196f54b541a96ac64e8b585b3a755be85057da8a1f3fa068e3f7b75ca2de4345e2b856f1e7b3f9455d86079731fe7d07a9f10890f26855d3674858e1; _tea_utm_cache_6383=undefined; douyin.com; strategyABtestKey=1648291293.035; passport_csrf_token=e0b90cb756903c370592bd558c2b0cf5; passport_csrf_token_default=e0b90cb756903c370592bd558c2b0cf5; AB_LOGIN_GUIDE_TIMESTAMP=1648291292963; s_v_web_id=verify_l17q2u00_kNENOykG_BIPh_4VLs_AVDZ_yMj0GtFSNH1u; _tea_utm_cache_1300=undefined; _tea_utm_cache_2285=undefined; THEME_STAY_TIME=299042; IS_HIDE_THEME_CHANGE=1; msToken=5X5W_7rY6cmo_SaaiMyCREV1hCZs-Jd9b7whX5gNCZsd9FU0zCTWYYAl0VhqGGUCjKS3bQf0f191VXdWHPNgqUz08MHEhk6qWhu4wVOlxhLyh3Vliaw37NU=; __ac_nonce=0623f02e00009007ea9bb; __ac_signature=_02B4Z6wo00f010eZ3RAAAIDCJJMde2RciUNHvdmAALPkmrPh1wY1Ey-OtTubjdK69ub9bqUt9DNRx8aP7dPtbOjyxcxyyK6yToF.7c4e615hiM5fYGwFCq0x8jHiY7BYLt6JZLIH8y38eMikd9; home_can_add_dy_2_desktop=1; msToken=fSBhJysNLifNHon5sgM-8n_3ZzJD49mCn9GUHLQydo7g52tCvrhNEKMFhxKEKlAxdE-z7er6yxwoJyO7-C_RdyslJnPejx9AAnkluZ22tSxM4siS7FUuO8E=; tt_scid=T-Exmos8oZiW6Wkb0uEjKsqAdjzxSnn4nznfku9EUmnDmpgq6Me7VDpIiYW4Fv805451; pwa_guide_count=3',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36'
    }
    response = requests.get(url=html_url, headers=headers)  # <Response [200]> 表示的是響應(yīng)對象 200狀態(tài)碼 請求成功
    # 2. 獲取數(shù)據(jù)
    # print(response.text)  # 獲取html字符串?dāng)?shù)據(jù)  服務(wù)器返回response響應(yīng)文本數(shù)據(jù)
    # 3. 解析數(shù)據(jù)
    # findall 找到所有, 從什么哪里去找什么數(shù)據(jù)  正則匹配出來數(shù)據(jù)返回都是列表數(shù)據(jù) [] 列表 [0] 取第一個元素
    title = re.findall('<title data-react-helmet="true">(.*?) - 抖音</title>', response.text)[0]
    video_url = re.findall('src(.*?)vr%3D%2', response.text)[0]
    # print(video_url)
    video_url = requests.utils.unquote(video_url).replace('":"', 'https:')  # 解碼 并且使用replace字符串替換
    # print(title)
    # print(video_url)
    # 4. 保存數(shù)據(jù) 視頻數(shù)據(jù)內(nèi)容
    video_content = requests.get(url=video_url, headers=headers).content  # 對于視頻播放地址發(fā)送請求,獲取二進制數(shù)據(jù)內(nèi)容
    with open('video\\' + title + '.mp4', mode='wb') as f:
        f.write(video_content)
    print(title, '保存完成')

視頻地址

教程視頻,點擊可看~

尾語

好了徙硅,我的這篇文章寫到這里就結(jié)束啦榜聂!

有更多建議或問題可以評論區(qū)或私信我哦!一起加油努力叭(? ?_?)?

喜歡就關(guān)注一下博主嗓蘑,或點贊收藏評論一下我的文章叭P胨痢D淠恕!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末豌汇,一起剝皮案震驚了整個濱河市幢炸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拒贱,老刑警劉巖宛徊,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異逻澳,居然都是意外死亡闸天,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門赡盘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來号枕,“玉大人,你說我怎么就攤上這事陨享〈写荆” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵抛姑,是天一觀的道長赞厕。 經(jīng)常有香客問我,道長定硝,這世上最難降的妖魔是什么皿桑? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蔬啡,結(jié)果婚禮上诲侮,老公的妹妹穿的比我還像新娘。我一直安慰自己箱蟆,他們只是感情好沟绪,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著空猜,像睡著了一般绽慈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辈毯,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天坝疼,我揣著相機與錄音,去河邊找鬼谆沃。 笑死钝凶,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的唁影。 我是一名探鬼主播腿椎,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼桌硫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了啃炸?” 一聲冷哼從身側(cè)響起铆隘,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎南用,沒想到半個月后膀钠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡裹虫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年肿嘲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筑公。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡雳窟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出匣屡,到底是詐尸還是另有隱情封救,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布捣作,位于F島的核電站誉结,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏券躁。R本人自食惡果不足惜惩坑,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望也拜。 院中可真熱鬧以舒,春花似錦、人聲如沸慢哈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岸军。三九已至,卻和暖如春瓦侮,著一層夾襖步出監(jiān)牢的瞬間艰赞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工肚吏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留方妖,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓罚攀,卻偏偏與公主長得像党觅,于是被迫代替她去往敵國和親雌澄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容