国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python抓取抖音無水印視頻和無水印圖集下載(個人分析思路)

這篇具有很好參考價值的文章主要介紹了python抓取抖音無水印視頻和無水印圖集下載(個人分析思路)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

  • 注重版權,轉載請注明原作者和原文鏈接
  • 作者:向往同學

目錄

最近無事練手的爬蟲項目(老活新整),希望各位大佬給出意見,謝謝。

一、視頻分析

二、圖集分析

三、完整代碼

四、總結


最近無事練手的爬蟲項目(老活新整),希望各位大佬給出意見,謝謝。

一、視頻分析

? ? ? ? 1、首先獲取手機端的視頻分享鏈接:7.99 y@t.RK 03/27 TlC:/ ?復制打開抖音,看看【生活隨拍 可能有關】被你艾特的人 這個冬天要陪你一起去看雪. ?https://v.douyin.com/idbkmge8/

? ? ? ? 2、在瀏覽器打開后面的鏈接:https://v.douyin.com/idbkmge8/,然后F12打開控制臺,左上角箭頭圖標選中視頻區(qū)域,跳轉到視頻區(qū)域的代碼找到video簽,里面有三個src視頻鏈接(都能跳轉到無水印的原視頻)

抓取抖音,音視頻,python,爬蟲,網(wǎng)絡爬蟲

? ? ? ? 3、我們分析第三個src鏈接:www.douyin.com/aweme/v1/play/?video_id=v0200fg10000ckk161rc77ua9mpnl2i0&line=0&file_id=0ba9741f8a0f4c50a82d8cc39404c8b9&sign=3aed81ae44d4d276fb74da974de2e950&is_play_url=1&source=PackSourceEnum_AWEME_DETAIL&aid=6383

? ? ? ? 鏈接很長我們試著刪除video_id=v0200fg10000ckk161rc77ua9mpnl2i0以后的所有參數(shù)得到新鏈接:www.douyin.com/aweme/v1/play/?video_id=v0200fg10000ckk161rc77ua9mpnl2i0然后訪問發(fā)現(xiàn)可以得到原視頻(video_id后面的參數(shù)屬于視頻的id不能刪除)

抓取抖音,音視頻,python,爬蟲,網(wǎng)絡爬蟲

? ? ? ? 4、到這我們就已經(jīng)拿到無水印的視頻了,但是那個video_id怎么獲取呢?在控制臺找到左邊的包然后打開它獲取到的json在aweme_detail里面的video里面的play_addr下的uri:"v0200fg10000ckk161rc77ua9mpnl2i0"這就是我們要找的video_id

抓取抖音,音視頻,python,爬蟲,網(wǎng)絡爬蟲

? ? ? ? 5、接著我們看看這個包的請求頭:很長并且里面涉及到了多個參數(shù)分析后試著刪掉一些參數(shù)都會導致請求失敗,所以這個包不適合我們使用,既然pc端的包這么復雜,那就試著抓取手機端的包

抓取抖音,音視頻,python,爬蟲,網(wǎng)絡爬蟲

????????6、設置手機端:左上角箭頭標記旁邊,設置完成后刷新頁面得到手機端

抓取抖音,音視頻,python,爬蟲,網(wǎng)絡爬蟲

? ? ? ? 7、分析得到如下圖的包名:我們可以看到這個包返回的json參數(shù)里也有我們剛剛pc端uri:"v0200fg10000ckk161rc77ua9mpnl2i0"這個參數(shù)

抓取抖音,音視頻,python,爬蟲,網(wǎng)絡爬蟲

? ? ? ? 8、分析獲取這個包的鏈接:https://m.douyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids=7289096995174714679&msToken=anBTIc1cLIN1y4SA9gFLfdlPmHPukK-0pgTfdWQcQI0YENGgCxPNI9h5kTCiOV__hFzHETwpa6lLL8t6p69LE64ZNp26-n-oK1gdxHeZ6zejX0gTQ3BWDbNSgUwNww%3D%3D&a_bogus=mvUYkcZCMsR10D3CMhkz9nTm5fD0YW4dgZEzPD6XQ0LR可以看到這個鏈接比pc端的鏈接短了很多,最后分析得出刪掉&msToken后面的鏈接:https://m.douyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids=7289096995174714679也能獲取相應的json,這個item_ids可以看出是分享鏈接重定向之后video/后面的字段https://m.douyin.com/share/video/7289096995174714679

抓取抖音,音視頻,python,爬蟲,網(wǎng)絡爬蟲

? ? ? ? 9、分析到這我們就可以完成上述的代碼了

import re
import requests
import os

# 請求頭
header = {
    "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 videos(surl):
    print('正在解析視頻鏈接')
    # 獲取video_id (重定向后的鏈接會變化具體我也沒弄清楚就做了兩種判斷)
    if len(surl) > 60:
        id = re.search(r'video/(\d.*)/', surl).group(1)
    else:
        id = re.search(r'video/(\d.*)', surl).group(1)
    # print(id)
    # 獲取json數(shù)據(jù)
    u_id = "https://m.douyin.com/web/api/v2/aweme/iteminfo/?item_ids={}&a_bogus=".format(id)
    v_rs = requests.get(url=u_id, headers=header).json()
    # titles = v_rs['item_list'][0]['desc']
    # 截取文案
    titles = re.search(r'^(.*?)[;;。.#]', v_rs['item_list'][0]['desc']).group(1)
    # print(titles)
    # 創(chuàng)建video文件夾
    if not os.path.exists('video'):
        os.makedirs('video')
    # 獲取uri參數(shù)
    req = v_rs['item_list'][0]['video']['play_addr']['uri']
    # print("vvvvvv", req)
    print('正在下載無水印視頻')
    # 下載無水印視頻
    v_url = "https://www.douyin.com/aweme/v1/play/?video_id={}".format(req)
    v_req = requests.get(url=v_url, headers=header).content
    # 寫入文件
    with open(f'video/{titles}.mp4', 'wb') as f:
        f.write(v_req)

if __name__ == '__main__':
    # 抖音
    shares = input("請輸入分享鏈接并按下回車鍵:")
    # 提取分享鏈接后面的鏈接
    share = re.search(r'/v.douyin.com/(.*?)/', shares).group(1)
    # 請求鏈接
    share_url = "https://v.douyin.com/{}/".format(share)
    # print(share_url)
    s_html = requests.get(url=share_url, headers=header)
    # 獲取重定向后的視頻id
    surl = s_html.url
    # print(surl)
    # 判斷鏈接類型為視頻分享類型
    if re.search(r'/video', surl) != None:
        videos(surl)
        quit = input('下載完成,按回車鍵退出程序。')
    # 判斷鏈接類型為圖集分享類型
    elif re.search(r'/note', surl) != None:
        pics(surl)
        quit = input('下載完成,按回車鍵退出程序。')
    else:
        quit = input('解析失敗,按回車鍵退出程序。')

二、圖集分析

? ? ? ? 1、獲取圖集分享鏈接:0.07 yTy:/ 03/13 l@c.nD ?復制打開抖音,看看【生活隨拍 可能有關】# 文案 # 朋友圈文案 # 圖文掘金計劃 發(fā)朋友圈會被秒贊的高級文案.# 文案 # 朋友圈文案# ... https://v.douyin.com/idpAF4rh/根據(jù)視頻的經(jīng)驗我們直接打開手機版的控制臺抓包,找到了一個和視頻一樣的包名打開獲取后的json得到images下的五張原圖片的鏈接

抓取抖音,音視頻,python,爬蟲,網(wǎng)絡爬蟲

? ? ? ? 2、分析獲取這個包的鏈接:https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids=7281493932930895156&a_bogus=DyMOgOZJMsR1Xj3Cdwkz9Htm54W0YW40gZEzYr%2FdMtL9刪掉多余的參數(shù)得到:https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids=7281493932930895156&a_bogus=

這個鏈接其中item_ids和視頻也是一樣是分享鏈接重定向之后的id

? ? ? ? 3、完成上述代碼

# 圖片無水印
def pics(surl):
    print('正在解析圖片鏈接')
    # 獲取id
    if len(surl) > 60:
        pid = re.search(r'note/(\d.*)/', surl).group(1)
    else:
        pid = re.search(r'note/(\d.*)', surl).group(1)
    # 獲取json數(shù)據(jù)
    p_id = "https://m.douyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids={}&a_bogus=".format(pid)
    # print(p_id)
    p_rs = requests.get(url=p_id, headers=header).json()
    # print(p_rs)
    # 拿到images下的原圖片
    images = p_rs['item_list'][0]['images']
    # 獲取文案
    ptitle = re.search(r'^(.*?)[;;。.#]', p_rs['item_list'][0]['desc']).group(1)
    # 創(chuàng)建pic文件夾
    if not os.path.exists('pic'):
        os.makedirs('pic')
    if not os.path.exists(f'pic/{ptitle}'):
        os.makedirs(f'pic/{ptitle}')
    print('正在下載無水印圖片')
    # 下載無水印照片(遍歷images下的數(shù)據(jù))
    for i, im in enumerate(images):
        # 每一條數(shù)據(jù)下面都有四個原圖鏈接這邊用的是第一個
        p_req = requests.get(url=im['url_list'][0]).content
        # print(p_req)
        # 保存圖片
        with open(f'pic/{ptitle}/{str(i + 1)}.jpg', 'wb') as f:
            f.write(p_req)

三、完整代碼

import re
import requests
import os

# 請求頭
header = {
    "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 videos(surl):
    print('正在解析視頻鏈接')
    # 獲取video_id (重定向后的鏈接會變化具體我也沒弄清楚就做了兩種判斷)
    if len(surl) > 60:
        id = re.search(r'video/(\d.*)/', surl).group(1)
    else:
        id = re.search(r'video/(\d.*)', surl).group(1)
    # print(id)
    # 獲取json數(shù)據(jù)
    u_id = "https://m.douyin.com/web/api/v2/aweme/iteminfo/?item_ids={}&a_bogus=".format(id)
    v_rs = requests.get(url=u_id, headers=header).json()
    # titles = v_rs['item_list'][0]['desc']
    # 截取文案
    titles = re.search(r'^(.*?)[;;。.#]', v_rs['item_list'][0]['desc']).group(1)
    # print(titles)
    # 創(chuàng)建video文件夾
    if not os.path.exists('video'):
        os.makedirs('video')
    # 獲取uri參數(shù)
    req = v_rs['item_list'][0]['video']['play_addr']['uri']
    # print("vvvvvv", req)
    print('正在下載無水印視頻')
    # 下載無水印視頻
    v_url = "https://www.douyin.com/aweme/v1/play/?video_id={}".format(req)
    v_req = requests.get(url=v_url, headers=header).content
    # 寫入文件
    with open(f'video/{titles}.mp4', 'wb') as f:
        f.write(v_req)


# 圖片無水印
def pics(surl):
    print('正在解析圖片鏈接')
    # 獲取id
    if len(surl) > 60:
        pid = re.search(r'note/(\d.*)/', surl).group(1)
    else:
        pid = re.search(r'note/(\d.*)', surl).group(1)
    # 獲取json數(shù)據(jù)
    p_id = "https://m.douyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids={}&a_bogus=".format(pid)
    # print(p_id)
    p_rs = requests.get(url=p_id, headers=header).json()
    # print(p_rs)
    # 拿到images下的原圖片
    images = p_rs['item_list'][0]['images']
    # 獲取文案
    ptitle = re.search(r'^(.*?)[;;。.#]', p_rs['item_list'][0]['desc']).group(1)
    # 創(chuàng)建pic文件夾
    if not os.path.exists('pic'):
        os.makedirs('pic')
    if not os.path.exists(f'pic/{ptitle}'):
        os.makedirs(f'pic/{ptitle}')
    print('正在下載無水印圖片')
    # 下載無水印照片(遍歷images下的數(shù)據(jù))
    for i, im in enumerate(images):
        # 每一條數(shù)據(jù)下面都有四個原圖鏈接這邊用的是第一個
        p_req = requests.get(url=im['url_list'][0]).content
        # print(p_req)
        # 保存圖片
        with open(f'pic/{ptitle}/{str(i + 1)}.jpg', 'wb') as f:
            f.write(p_req)


if __name__ == '__main__':
    # 抖音
    shares = input("請輸入分享鏈接并按下回車鍵:")
    # 提取分享鏈接后面的鏈接
    share = re.search(r'/v.douyin.com/(.*?)/', shares).group(1)
    # 請求鏈接
    share_url = "https://v.douyin.com/{}/".format(share)
    # print(share_url)
    s_html = requests.get(url=share_url, headers=header)
    # 獲取重定向后的視頻id
    surl = s_html.url
    # print(surl)
    # 判斷鏈接類型為視頻分享類型
    if re.search(r'/video', surl) != None:
        videos(surl)
        quit = input('下載完成,按回車鍵退出程序。')
    # 判斷鏈接類型為圖集分享類型
    elif re.search(r'/note', surl) != None:
        pics(surl)
        quit = input('下載完成,按回車鍵退出程序。')
    else:
        quit = input('解析失敗,按回車鍵退出程序。')

四、總結

? ? ? ? 這個是我的個人分析思路希望各位大佬能給出寶貴意見或者新思路,第一次發(fā)帖感謝各位支持文章來源地址http://www.zghlxwxcb.cn/news/detail-751989.html

到了這里,關于python抓取抖音無水印視頻和無水印圖集下載(個人分析思路)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 抖音視頻批量下載工具|抖音數(shù)據(jù)抓取工具

    抖音視頻批量下載工具|抖音數(shù)據(jù)抓取工具

    ? ? ? ? 想要隨時隨地觀看抖音平臺上的精彩視頻內容嗎?不必擔心!這款基于C#開發(fā)的抖音視頻下載工具將成為您的得力助手,讓您輕松暢享最新、最熱的視頻內容。 【多功能實用】 無論是批量視頻提取還是固定視頻下載,這款工具都能滿足您的需求。通過輸入進行

    2024年04月09日
    瀏覽(147)
  • 情感視頻素材免費下載無水印,分享幾個抖音熱門情感視頻素材網(wǎng)站

    情感視頻素材免費下載無水印,分享幾個抖音熱門情感視頻素材網(wǎng)站

    ? ? ? ? ?在當今這個短視頻內容為王的時代,情感短視頻無疑成為了最直接、最有效的情感傳達方式之一。無論是用來表達生活點滴,還是用于品牌故事的講述,一段精心制作的視頻能夠讓人觸動心弦,留下深刻印象。但是,優(yōu)秀的情感視頻素材并且免費下載無水印離不開

    2024年04月12日
    瀏覽(112)
  • Python:使用爬蟲抓取網(wǎng)頁中的視頻并下載(完整源碼)

    Python:使用爬蟲抓取網(wǎng)頁中的視頻并下載(完整源碼) 在今天的程序開發(fā)世界中,網(wǎng)站是不可或缺的一部分。人們使用網(wǎng)站來獲取有用的信息、購買商品和娛樂自己。這些網(wǎng)站的內容通常包含了各種類型的文件,其中最常見的就是視頻。對于有經(jīng)驗的程序開發(fā)者來說,使用

    2024年02月16日
    瀏覽(46)
  • 抖音視頻評論采集軟件|抖音數(shù)據(jù)抓取工具

    抖音視頻評論采集軟件|抖音數(shù)據(jù)抓取工具

    ? ? ? ? 抖音視頻評論采集軟件是一款基于C#開發(fā)的高效、便捷的工具,旨在為用戶提供全面的數(shù)據(jù)采集和分析服務。該軟件不僅支持通過進行搜索抓取,還能夠通過分享鏈接進行單個視頻的抓取和下載,讓用戶輕松獲取抖音視頻評論數(shù)據(jù)。 ? ? ? ? 其中,批量視頻提

    2024年04月11日
    瀏覽(22)
  • 【Python爬蟲案例】抖音下載視頻+X-Bogus參數(shù)JS逆向分析

    【Python爬蟲案例】抖音下載視頻+X-Bogus參數(shù)JS逆向分析

    選擇自己感興趣的抖音博主,本次以“經(jīng)典老歌【車載U盤】”為例 每次請求的頁面會有很多接口,需要對接口進行篩選: 第一步篩選XHR篩選 第二步篩選URL中帶有post 通過篩選play_add值找到視頻的地址 通過對比兩次請求發(fā)現(xiàn)只有X-Bogus數(shù)值會有變化,max_cursor是用翻頁,后文再

    2024年03月15日
    瀏覽(26)
  • 怎么下載抖音視頻無水?。拷棠闳齻€無水印下載抖音視頻方法

    怎么下載抖音視頻無水???教你三個無水印下載抖音視頻方法

    怎么下載抖音視頻無水印?抖音已經(jīng)成為了我們日常生活與工作的無法割舍的一部分,每天數(shù)以億計的用戶在進行創(chuàng)作分享。在這個平臺上,用戶可以通過自己的所見所想進行創(chuàng)作和分享記錄美好瞬間。然而,有些用戶希望能夠將自己喜歡的抖音視頻保存到相冊中,以便隨時

    2024年02月03日
    瀏覽(30)
  • Python抓取抖音直播間數(shù)據(jù):技術探索與實踐

    Python抓取抖音直播間數(shù)據(jù):技術探索與實踐

    目錄 一、引言 二、技術準備 三、分析抖音直播間網(wǎng)頁結構 四、編寫爬蟲代碼 五、處理反爬蟲機制 六、數(shù)據(jù)清洗與存儲 七、總結 隨著互聯(lián)網(wǎng)的快速發(fā)展,直播行業(yè)已成為當下的熱門領域。抖音作為其中的佼佼者,吸引了大量的用戶和主播。對于數(shù)據(jù)分析師、市場研究人員

    2024年04月15日
    瀏覽(24)
  • 抖音視頻解析,無水印解析下載抖音視頻

    抖音視頻解析,無水印解析下載抖音視頻

    抖音視頻解析,你是否經(jīng)常遇到這樣的情況,看到一些非常精彩的抖音視頻,想要保存下來,但因為下載速度慢或者視頻帶有水印而感到困擾?那么,這款(抖音無水印解析工具)將是你的得力助手!它可以輕松解決這些問題,使你能夠更輕松、更便捷地批量解析和下載抖音

    2024年01月20日
    瀏覽(42)
  • 抖音直播下載方法(附視頻下載方法)

    抖音直播下載方法(附視頻下載方法)

    有時候想看抖音直播,但又沒時間,想將其直播的內容錄制下來。但是錄屏錄出來的視頻很糟糕,想能否直接將直播的視頻下載下來,自然是可以的。 網(wǎng)上有很多的抖音直播下載軟件,但是幾乎都要收費(至少我沒有看到免費的),所以本片就是讓你學會如何免費的下載直播

    2024年01月20日
    瀏覽(21)
  • 抖音視頻批量提取采集軟件|視頻無水印下載工具

    抖音視頻批量提取采集軟件|視頻無水印下載工具

    高效批量提取抖音視頻,輕松應對營銷需求! 在抖音視頻營銷中,如何高效地獲取大量視頻資源是許多市場人員面臨的挑戰(zhàn)。針對這一需求,我們開發(fā)了一款功能強大的抖音視頻批量提取采集軟件,幫助您快速、方便地獲取所需視頻,滿足您的營銷需求。 簡介: 我們的軟件

    2024年04月14日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包