【原创】抖音个人视频列表采集

简介: 【原创】抖音个人视频列表采集
本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!

抖音个人视频列表采集

环境

  • win10、mac
  • Python3.9

2023.3.3更新

现在需要效验ck中的tk参数,特此更新一下

获取所需参数

   defget_cookie(self):

       count=10

       whilecount:

           try:

               session=requests.session()

               h=session.get(url, verify=False, allow_redirects=False, timeout=20).headers

               x_vc_bdturing_parameters=h.get('x-vc-bdturing-parameters')

               ifnotx_vc_bdturing_parameters:

                   count-=1

                   logger.info(f'提取:x_vc_bdturing_parameters 失败,重试!')

                   time.sleep(random.randint(3, 5))

                   continue

               verify_data=json.loads(base64.b64decode(h.get('x-vc-bdturing-parameters')).decode("utf-8"))

               fp=verify_data.get("fp")

               detail=verify_data.get("detail")

               logger.info(f"成功提取:{fp}, 开始验证")

               try:  # 有几率报错,报错重试

                   msg=Verify().verify(fp, detail)

                   logger.info(msg)

               exceptExceptionase:

                   logger.info(f"{e}")

                   continue

               ifmsg.get('code') !=200:

                   logger.info(f"{msg.get('message')},重试")

                   continue

               logger.info(f"ck s_v_web_id:{fp}, {msg.get('message')}")

               s_v_web_id=f's_v_web_id={verify_data.get("fp")};'

               self.cookie=s_v_web_id

               return

           exceptExceptionase:

               logger.info(f'提取:x_vc_bdturing_parameters 出错:{e}')

               time.sleep(random.randint(3, 5))

               continue

根据作者id获取所有视频

   defget_aweme_list(self, sec_user_id):

       """

       根据作者ID获取所有视频ID

       """

       headers= {

           "accept": "application/json, text/plain, */*",

           "accept-language": "zh-CN,zh;q=0.9",

           "bd-ticket-guard-client-csr": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0NCk1JSUJEekNCdFFJQkFEQW5NUXN3Q1FZRFZRUUdFd0pEVGpFWU1CWUdBMVVFQXd3UFltUmZkR2xqYTJWMFgyZDENCllYSmtNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVWdHJwOUhyOTdwRCttcGVxcTZIZzBUanUNCnJQRVpGSVQzajBTUGFQNGVGaXRzeHU5U3U2ZWJFWHVDNDVlYkMxbExFVlBGVXNPZFF6TWlsTjFmWThDdlZxQXMNCk1Db0dDU3FHU0liM0RRRUpEakVkTUJzd0dRWURWUjBSQkJJd0VJSU9kM2QzTG1SdmRYbHBiaTVqYjIwd0NnWUkNCktvWkl6ajBFQXdJRFNRQXdSZ0loQU5WOWlTOUVzVGszem5KOFprTDVNKzNZTk11NTRRNnF6Qm5kUy9Yd1Y3b1INCkFpRUFxbERLTkcrcUMyMjBBQ1B2Z1IrVlI2VWh3RXhUOEZTS0N2LzU2clBrMmNzPQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tDQo=",

           "bd-ticket-guard-version": "2",

           "cache-control": "no-cache",

           "pragma": "no-cache",

           "referer": "https://www.douyin.com/",

           "sec-ch-ua": "^\\^Chromium^^;v=^\\^110^^, ^\\^Not",

           "sec-ch-ua-mobile": "?0",

           "sec-ch-ua-platform": "^\\^Windows^^",

           "sec-fetch-dest": "empty",

           "sec-fetch-mode": "cors",

           "sec-fetch-site": "same-origin",

           "cookie": self.cookie,

           "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"

       }

       params= {

           "aid": "6383",

           "channel": "channel_pc_web",

           "sec_user_id": sec_user_id,

           "max_cursor": int(time.time()) *1000,

           "locate_item_id": "7064150578586193188",

           "locate_query": "false",

           "show_live_replay_strategy": "1",

           "count": "100",

           "publish_video_strategy_type": "2",

           "pc_client_type": "1",

           "version_code": "170400",

           "version_name": "17.4.0",

           "cookie_enabled": "true",

           "screen_width": "1680",

           "screen_height": "1050",

           "browser_language": "zh-CN",

           "browser_platform": "Win32",

           "browser_name": "Chrome",

           "browser_version": "108.0.0.0",

           "browser_online": "true",

           "engine_name": "Blink",

           "engine_version": "108.0.0.0",

           "os_name": "Windows",

           "os_version": "10",

           "cpu_core_num": "4",

           "device_memory": "8",

           "platform": "PC",

           "downlink": "10",

           "effective_type": "4g",

           "round_trip_time": "100",

           "msToken": ""

       }

       x_b=self._get_xb(params=params)

       print(x_b)

       params['X-Bogus'] =x_b

       response=self._parse_url(url, headers=headers, params=params)

       # print(response.text)

       # logger.info(response.text)

       aweme_list=response.json().get('aweme_list')

       ifnotaweme_list:

           logger.info(f'获取失败:{sec_user_id}')

           returnNone

       aweme_ids= [i.get('aweme_id') foriinaweme_list]

       descs= [i.get('desc') foriinaweme_list]

       logger.info(f'成功获取{sec_user_id}视频ID列表:{len(aweme_ids)}条')

       foriinzip(aweme_ids, descs):

           print(i)

s_v_web_id 滑块验证,和x-b算法,之前文章有分析过,再次就不过多赘述了,有兴趣的可以去看下:https://cenjy.blog.csdn.net/article/details/126193773

效果

资源下载

https://download.csdn.net/download/qq_38154948/87527573


本文仅供学习交流使用,如侵立删!


相关文章
|
5月前
|
开发工具
抖音sdk接口,同步抖音粉丝列表
抖音sdk接口,同步抖音粉丝列表
|
5月前
|
JSON 数据格式 网络架构
技术心得记录:快手的小视频爬取
技术心得记录:快手的小视频爬取
|
5月前
微信小游戏全局开启好友和朋友圈分享功能
微信小游戏全局开启好友和朋友圈分享功能
56 0
|
缓存 前端开发 安全
SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据(二篇)
最近有朋友问起我有没有做过抖音开放平台,让我有了些思考,其实之前做过的。虽然抖音APP很火,但是毕竟不像微信开放平台那样,已沉淀多年,基本上每个API只要肯用心查找,网上都有很多资料可以参考。而抖音开放平台则不然,刚面世不久,资料比较少。即使对于一个开发人员来说,接入第三方接口都大同小异,不会太难,但我还是想把这些记录下来,特别是遇到的坑,会列在下面,一起参考学习。限于水平有限,若有错误,不吝赐教哈。那么,我们就开始正文吧。
882 0
SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据(二篇)
|
移动开发 小程序 Java
SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据(一篇)
最近有朋友问起我有没有做过抖音开放平台,让我有了些思考,其实之前做过的。虽然抖音APP很火,但是毕竟不像微信开放平台那样,已沉淀多年,基本上每个API只要肯用心查找,网上都有很多资料可以参考。而抖音开放平台则不然,刚面世不久,资料比较少。即使对于一个开发人员来说,接入第三方接口都大同小异,不会太难,但我还是想把这些记录下来,特别是遇到的坑,会列在下面,一起参考学习。限于水平有限,若有错误,不吝赐教哈。那么,我们就开始正文吧。
647 0
SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据(一篇)
|
数据采集 Python
Python爬虫系列13-采集快手短视频官网数据
读书不是唯一出路,但学习一定是。 有些人忙碌的活着,有些人努力的拼搏,有些人随意挥霍青春,人生百态,各有不同。
Python爬虫系列13-采集快手短视频官网数据
|
数据采集 Python
Python爬虫系列17-批量抓取某短视频平台某用户的全部作品
不那么好走的路,才是上坡路. 所有往上的路,都与我们本能的懒惰、懈怠和拖延不相容。 当你觉得很苦很累时,不要泄气,因为你可能走在上坡的路上。
Python爬虫系列17-批量抓取某短视频平台某用户的全部作品
|
数据采集 Python
Python爬虫系列15-采集梨视频等所有栏目中视频数据
“人生之路是不可逆的,任何人都不可能重新来过、重新选择。” 生活中,每个人都在用不同的方式在成长在成熟,谁也不比谁更轻松。
Python爬虫系列15-采集梨视频等所有栏目中视频数据
|
数据采集 Python
Python爬虫系列16-采集网易音乐百万好听的歌曲进行批量下载
业精于勤而荒于嬉,行成于思而毁于随。 吃得苦中苦,方为人上人,受得累中累,方成富贵人。完全赞同
Python爬虫系列16-采集网易音乐百万好听的歌曲进行批量下载
|
安全 JavaScript
微信公众号-- 微信分享功能(分享到朋友和朋友圈显示图片和简介)
页面设置一个隐藏的图片,宽高都是300像素,微信就会抓取这张图片做为分享图片
15527 0