python抓取抖音无水印视频和无水印图集下载(个人分析思路)

这篇具有很好参考价值的文章主要介绍了python抓取抖音无水印视频和无水印图集下载(个人分析思路)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 注重版权,转载请注明原作者和原文链接
  • 作者:向往同学

目录

最近无事练手的爬虫项目(老活新整),希望各位大佬给出意见,谢谢。

一、视频分析

二、图集分析

三、完整代码

四、总结


最近无事练手的爬虫项目(老活新整),希望各位大佬给出意见,谢谢。

一、视频分析

        1、首先获取手机端的视频分享链接:7.99 y@t.RK 03/27 TlC:/  复制打开抖音,看看【生活随拍 可能有关】被你艾特的人 这个冬天要陪你一起去看雪.  https://v.douyin.com/idbkmge8/

        2、在浏览器打开后面的链接:https://v.douyin.com/idbkmge8/,然后F12打开控制台,左上角箭头图标选中视频区域,跳转到视频区域的代码找到video签,里面有三个src视频链接(都能跳转到无水印的原视频)

抓取抖音,音视频,python,爬虫,网络爬虫

        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以后的所有参数得到新链接:www.douyin.com/aweme/v1/play/?video_id=v0200fg10000ckk161rc77ua9mpnl2i0然后访问发现可以得到原视频(video_id后面的参数属于视频的id不能删除)

抓取抖音,音视频,python,爬虫,网络爬虫

        4、到这我们就已经拿到无水印的视频了,但是那个video_id怎么获取呢?在控制台找到左边的包然后打开它获取到的json在aweme_detail里面的video里面的play_addr下的uri:"v0200fg10000ckk161rc77ua9mpnl2i0"这就是我们要找的video_id

抓取抖音,音视频,python,爬虫,网络爬虫

        5、接着我们看看这个包的请求头:很长并且里面涉及到了多个参数分析后试着删掉一些参数都会导致请求失败,所以这个包不适合我们使用,既然pc端的包这么复杂,那就试着抓取手机端的包

抓取抖音,音视频,python,爬虫,网络爬虫

        6、设置手机端:左上角箭头标记旁边,设置完成后刷新页面得到手机端

抓取抖音,音视频,python,爬虫,网络爬虫

        7、分析得到如下图的包名:我们可以看到这个包返回的json参数里也有我们刚刚pc端uri:"v0200fg10000ckk161rc77ua9mpnl2i0"这个参数

抓取抖音,音视频,python,爬虫,网络爬虫

        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,爬虫,网络爬虫

        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数据
    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)
    # 创建video文件夹
    if not os.path.exists('video'):
        os.makedirs('video')
    # 获取uri参数
    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  复制打开抖音,看看【生活随拍 可能有关】# 文案 # 朋友圈文案 # 图文掘金计划 发朋友圈会被秒赞的高级文案.# 文案 # 朋友圈文案# ... https://v.douyin.com/idpAF4rh/根据视频的经验我们直接打开手机版的控制台抓包,找到了一个和视频一样的包名打开获取后的json得到images下的五张原图片的链接

抓取抖音,音视频,python,爬虫,网络爬虫

        2、分析获取这个包的链接:https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids=7281493932930895156&a_bogus=DyMOgOZJMsR1Xj3Cdwkz9Htm54W0YW40gZEzYr%2FdMtL9删掉多余的参数得到: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数据
    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)
    # 创建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下的数据)
    for i, im in enumerate(images):
        # 每一条数据下面都有四个原图链接这边用的是第一个
        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数据
    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)
    # 创建video文件夹
    if not os.path.exists('video'):
        os.makedirs('video')
    # 获取uri参数
    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数据
    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)
    # 创建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下的数据)
    for i, im in enumerate(images):
        # 每一条数据下面都有四个原图链接这边用的是第一个
        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('解析失败,按回车键退出程序。')

四、总结

        这个是我的个人分析思路希望各位大佬能给出宝贵意见或者新思路,第一次发帖感谢各位支持文章来源地址https://www.toymoban.com/news/detail-751989.html

到了这里,关于python抓取抖音无水印视频和无水印图集下载(个人分析思路)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 抖音视频批量下载工具|抖音数据抓取工具

            想要随时随地观看抖音平台上的精彩视频内容吗?不必担心!这款基于C#开发的抖音视频下载工具将成为您的得力助手,让您轻松畅享最新、最热的视频内容。 【多功能实用】 无论是批量视频提取还是固定视频下载,这款工具都能满足您的需求。通过输入进行

    2024年04月09日
    浏览(129)
  • 情感视频素材免费下载无水印,分享几个抖音热门情感视频素材网站

             在当今这个短视频内容为王的时代,情感短视频无疑成为了最直接、最有效的情感传达方式之一。无论是用来表达生活点滴,还是用于品牌故事的讲述,一段精心制作的视频能够让人触动心弦,留下深刻印象。但是,优秀的情感视频素材并且免费下载无水印离不开

    2024年04月12日
    浏览(144)
  • Python:使用爬虫抓取网页中的视频并下载(完整源码)

    Python:使用爬虫抓取网页中的视频并下载(完整源码) 在今天的程序开发世界中,网站是不可或缺的一部分。人们使用网站来获取有用的信息、购买商品和娱乐自己。这些网站的内容通常包含了各种类型的文件,其中最常见的就是视频。对于有经验的程序开发者来说,使用

    2024年02月16日
    浏览(67)
  • 抖音视频评论采集软件|抖音数据抓取工具

            抖音视频评论采集软件是一款基于C#开发的高效、便捷的工具,旨在为用户提供全面的数据采集和分析服务。该软件不仅支持通过进行搜索抓取,还能够通过分享链接进行单个视频的抓取和下载,让用户轻松获取抖音视频评论数据。         其中,批量视频提

    2024年04月11日
    浏览(50)
  • 【Python爬虫案例】抖音下载视频+X-Bogus参数JS逆向分析

    选择自己感兴趣的抖音博主,本次以“经典老歌【车载U盘】”为例 每次请求的页面会有很多接口,需要对接口进行筛选: 第一步筛选XHR筛选 第二步筛选URL中带有post 通过筛选play_add值找到视频的地址 通过对比两次请求发现只有X-Bogus数值会有变化,max_cursor是用翻页,后文再

    2024年03月15日
    浏览(121)
  • 怎么下载抖音视频无水印?教你三个无水印下载抖音视频方法

    怎么下载抖音视频无水印?抖音已经成为了我们日常生活与工作的无法割舍的一部分,每天数以亿计的用户在进行创作分享。在这个平台上,用户可以通过自己的所见所想进行创作和分享记录美好瞬间。然而,有些用户希望能够将自己喜欢的抖音视频保存到相册中,以便随时

    2024年02月03日
    浏览(55)
  • Python抓取抖音直播间数据:技术探索与实践

    目录 一、引言 二、技术准备 三、分析抖音直播间网页结构 四、编写爬虫代码 五、处理反爬虫机制 六、数据清洗与存储 七、总结 随着互联网的快速发展,直播行业已成为当下的热门领域。抖音作为其中的佼佼者,吸引了大量的用户和主播。对于数据分析师、市场研究人员

    2024年04月15日
    浏览(50)
  • 抖音视频解析,无水印解析下载抖音视频

    抖音视频解析,你是否经常遇到这样的情况,看到一些非常精彩的抖音视频,想要保存下来,但因为下载速度慢或者视频带有水印而感到困扰?那么,这款(抖音无水印解析工具)将是你的得力助手!它可以轻松解决这些问题,使你能够更轻松、更便捷地批量解析和下载抖音

    2024年01月20日
    浏览(59)
  • 抖音直播下载方法(附视频下载方法)

    有时候想看抖音直播,但又没时间,想将其直播的内容录制下来。但是录屏录出来的视频很糟糕,想能否直接将直播的视频下载下来,自然是可以的。 网上有很多的抖音直播下载软件,但是几乎都要收费(至少我没有看到免费的),所以本片就是让你学会如何免费的下载直播

    2024年01月20日
    浏览(80)
  • 抖音视频批量提取采集软件|视频无水印下载工具

    高效批量提取抖音视频,轻松应对营销需求! 在抖音视频营销中,如何高效地获取大量视频资源是许多市场人员面临的挑战。针对这一需求,我们开发了一款功能强大的抖音视频批量提取采集软件,帮助您快速、方便地获取所需视频,满足您的营销需求。 简介: 我们的软件

    2024年04月14日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包