Python 爬虫 之 抖音视频采集

嗨喽,大家好呀~这里是爱看美女的茜茜呐

知识点:

  • 动态数据抓包

  • requests发送请求

开发环境:

  • python 3.8 运行代码

  • pycharm 2022.3 辅助敲代码

  • requests pip install requests

如何安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在pycharm中点击Terminal(终端) 输入安装命令


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可


代码展示

导入模块

'''
python资料获取看这里噢!! 小编 V:Pytho8987(记得好友验证备注:6 否则可能不通过)
即可获取:文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''
import requests
import execjs
f = open('xb.js', mode='r').read()
ctx = execjs.compile(f)

伪装模拟

headers = {'Referer': 'https://www.douyin.com/user/MS4wLjABAAAAzQERuE7CoS-4bipZA1SxCHPOuQ4_FpJTX6qDlUAH7NfqdASG_BFfry9kjlJlQCUV','Cookie': 'ttwid=1%7CZnvCElyZz1gN57Mo6WzIS2oQeAGdv9eSuRPEbj3_Vo0%7C1700833054%7C17e406efdf369a7d50a83874ed7ee26ebb03f5999835c9aad456f6f13c394457; passport_csrf_token=4b99913d90b038623980bf0063377574; passport_csrf_token_default=4b99913d90b038623980bf0063377574; s_v_web_id=verify_lpco35q1_TjzppwW7_Hykz_4LVi_AhWq_GY1CFLEgZNQ7; bd_ticket_guard_client_web_domain=2; d_ticket=ae98c12d9b53550eb12fafaa2704d982527e3; passport_assist_user=CkCJCHnpce5d8nWCiqX1tavrcPs-CPWdD5ch7JQpDTcb5LUvoK3My2vUE1inyG-3oNGDmHsaxJTHlZR2nonI9QjpGkoKPPCLVgcAILd3-xa734oKHtSMTGTqBlJoECv0gXAdqpc5zud0Uz7YdMBUdpqEBFNIy6rX0-r2zburA_pyfRCblMINGImv1lQgASIBA-jwYWM%3D; n_mh=lEaWHU3rAl1QbrjHS25yDvJUAdcA4R4oZvpmH7DOjl8; sso_uid_tt=b5a4695d261438adcc512609965e5592; sso_uid_tt_ss=b5a4695d261438adcc512609965e5592; toutiao_sso_user=9692e69067470f6b2ddd6d87e3845509; toutiao_sso_user_ss=9692e69067470f6b2ddd6d87e3845509; LOGIN_STATUS=1; store-region=cn-hn; store-region-src=uid; _bd_ticket_crypt_doamin=2; _bd_ticket_crypt_cookie=0cc21c32295a6d709fdbee10711e06b0; __security_server_data_status=1; my_rd=2; sid_ucp_sso_v1=1.0.0-KDM2NjdlOTk0NmM3ODY4NTc3NWFmYzFhNzA2YjE1ODY1YWQwNzEwMWUKHgiA3bH-mow8EILrz6wGGO8xIAww3NiXgQY4AkDxBxoCbGYiIDk2OTJlNjkwNjc0NzBmNmIyZGRkNmQ4N2UzODQ1NTA5; ssid_ucp_sso_v1=1.0.0-KDM2NjdlOTk0NmM3ODY4NTc3NWFmYzFhNzA2YjE1ODY1YWQwNzEwMWUKHgiA3bH-mow8EILrz6wGGO8xIAww3NiXgQY4AkDxBxoCbGYiIDk2OTJlNjkwNjc0NzBmNmIyZGRkNmQ4N2UzODQ1NTA5; sid_guard=896d898a7cac7094333d6d217927c9c7%7C1704195458%7C5184000%7CSat%2C+02-Mar-2024+11%3A37%3A38+GMT; uid_tt=e8b533f2ffd5bc06c482b1248da0aded; uid_tt_ss=e8b533f2ffd5bc06c482b1248da0aded; sid_tt=896d898a7cac7094333d6d217927c9c7; sessionid=896d898a7cac7094333d6d217927c9c7; sessionid_ss=896d898a7cac7094333d6d217927c9c7; sid_ucp_v1=1.0.0-KDNlZWIxYTRiNDU1M2VkYTljNDExN2VmMjhhZDE2YTI3ZDVkNGM0N2UKGgiA3bH-mow8EILrz6wGGO8xIAw4AkDxB0gEGgJscSIgODk2ZDg5OGE3Y2FjNzA5NDMzM2Q2ZDIxNzkyN2M5Yzc; ssid_ucp_v1=1.0.0-KDNlZWIxYTRiNDU1M2VkYTljNDExN2VmMjhhZDE2YTI3ZDVkNGM0N2UKGgiA3bH-mow8EILrz6wGGO8xIAw4AkDxB0gEGgJscSIgODk2ZDg5OGE3Y2FjNzA5NDMzM2Q2ZDIxNzkyN2M5Yzc; __live_version__=%221.1.1.6766%22; live_use_vvc=%22false%22; __ac_nonce=0659e88bd00c26baac5b3; __ac_signature=_02B4Z6wo00f01OjfsAgAAIDB4vlroLsGiwjo.7SAAF-vQzj5qa-iDByxYb1vMiCLy7ipiAtDIvRvyJVCPIdqrJkJmLXfdyQ0BwCsL6Fg5l0nsCgyTP8xLH2TEQIBmW3KqpojY1YaYMI78kVG7c; publish_badge_show_info=%220%2C0%2C0%2C1704888510677%22; dy_swidth=1920; dy_sheight=1080; csrf_session_id=ad84cc316d92bd2907e82dd71c220638; strategyABtestKey=%221704888511.209%22; bd_ticket_guard_client_data=eyJiZC10aWNrZXQtZ3VhcmQtdmVyc2lvbiI6MiwiYmQtdGlja2V0LWd1YXJkLWl0ZXJhdGlvbi12ZXJzaW9uIjoxLCJiZC10aWNrZXQtZ3VhcmQtcmVlLXB1YmxpYy1rZXkiOiJCQXNwWDdydTNIT3lySVMrVEhzVDdQRTJRdG9YUElRYmhyUENMT3FUWDBuc2NxWHRMc3dJVmc0cm5vM0k2bzF1Y2R1MjM3MTh5dC9HQ2RDREozWEYxQzg9IiwiYmQtdGlja2V0LWd1YXJkLXdlYi12ZXJzaW9uIjoxfQ%3D%3D; msToken=BcWXV2wRVB6Uqg7aU8EDzoO5i4YVQx9aZdA1XUJYFQsc0jvLtGlhtjbrG2hmFRZVPVgi6QsNMpGLn5LlSjG3-C-TsXXo_NMFNWJIF3f17TsFD9EJZPU=; odin_tt=c5dbd50fea17601b6e035f6167f694476c418df4dff275de07d29fd379ab4773f57131007a6f51e30194f46d1385215bb12194f654e6e0fef6ebd5bb71989df5; tt_scid=GJKC.qMzd15vIyztW80QZc1tUvLBq5d19tVRKHT-GqZ.BFG2EBk6u3zHqChQukONcf55; download_guide=%221%2F20240110%2F0%22; pwa2=%220%7C0%7C1%7C0%22; msToken=vmPRSPP81ksgNNnPnZ3C8qQ1O-igjaJFz84prkcp9Q-RW4Yvzz91UxJVJVnSLzyWj03bmSqtK74idZWkK5bD6M0nb55E8_iDbRNeUJauBHJ4OMQiNmM=; passport_fe_beating_status=false; IsDouyinActive=true; home_can_add_dy_2_desktop=%220%22; stream_recommend_feed_params=%22%7B%5C%22cookie_enabled%5C%22%3Atrue%2C%5C%22screen_width%5C%22%3A1920%2C%5C%22screen_height%5C%22%3A1080%2C%5C%22browser_online%5C%22%3Atrue%2C%5C%22cpu_core_num%5C%22%3A6%2C%5C%22device_memory%5C%22%3A8%2C%5C%22downlink%5C%22%3A10%2C%5C%22effective_type%5C%22%3A%5C%224g%5C%22%2C%5C%22round_trip_time%5C%22%3A0%7D%22','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}

如何分析加密参数

  1. 确定这个参数是否为加密参数

    他是不是服务器返回的数据

    如果不是 那么这个参数 是否存在校验

'''
python资料获取看这里噢!! 小编 V:Pytho8987(记得好友验证备注:6 否则可能不通过)
即可获取:文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''
arg = 'device_platform=webapp&aid=6383&channel=channel_pc_web&sec_user_id=MS4wLjABAAAAzQERuE7CoS-4bipZA1SxCHPOuQ4_FpJTX6qDlUAH7NfqdASG_BFfry9kjlJlQCUV&max_cursor=0&locate_query=false&show_live_replay_strategy=1&need_time_list=1&time_list_query=0&whale_cut_token=&cut_version=1&count=18&publish_video_strategy_type=2&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=120.0.0.0&browser_online=true&engine_name=Blink&engine_version=120.0.0.0&os_name=Windows&os_version=10&cpu_core_num=6&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=50&webid=7305022292394837567&msToken=aE3KWXoDSk27YVEFDUi1Wo6Nw50F4qNttkJQ0fZF2tjzvlIeUHhuGDpnpj5ooNITWZVGuS5Y-TLFSLZgw0zmq1lc_MrmIdcuFpGPTHT6Uotg8GhnSPGyoY9cNqVa'
result = ctx.call('getXb', arg)
print(result)

请求链接

url = f'https://www.douyin.com/aweme/v1/web/aweme/post/?{arg}&X-Bogus={result}'
  1. 发送请求
response = requests.get(url=url, headers=headers)
  1. 获取数据
json_data = response.json()
  1. 解析数据
'''
python资料获取看这里噢!! 小编 V:Pytho8987(记得好友验证备注:6 否则可能不通过)
即可获取:文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''
aweme_list = json_data['aweme_list']
max_cursor = json_data['max_cursor']
print(max_cursor)
for aweme in aweme_list:caption = aweme['caption']aweme_id = aweme['aweme_id']video_url = aweme['video']['play_addr']['url_list'][0]print(aweme_id, caption, video_url)
  1. 保存视频
    # video_data = requests.get(video_url).content# with open(f'video/{aweme_id}.mp4', mode='wb') as f:#     f.write(video_data)

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读笔记AI篇 —— Transformer模型理论+实战 (四)

论文阅读笔记AI篇 —— Transformer模型理论实战 (四) 一、理论1.1 理论研读1.2 什么是AI Agent? 二、实战2.1 先导知识2.1.1 tensor的创建与使用2.1.2 PyTorch的模块2.1.2.1 torch.nn.Module类的继承与使用2.1.2.2 torch.nn.Linear类 2.2 Transformer代…

k8s源码阅读:Informer源码解析

写在之前 Kubernetes的Informer机制是一种用于监控资源对象变化的机制。它提供了一种简化开发者编写控制器的方式,允许控制器能够及时感知并响应 Kubernetes 集群中资源对象的变化。Informer通过与Kubernetes API服务器进行交互,通过监听API服务器上资源…

Idea 开发环境不断切换git代码分支导致冲掉别人代码

问题分析 使用git reflog查看执行命令,以下是发生事故的切换和提交动作 46f72622e1 HEAD{41}: commit: feat: 【Sales - 6.3】小程序端不登录也可以录入客户线索 c5e7d9f6e1 HEAD{42}: fetch origin feature/20240102_Sales6.3_xingang:feature/20240102_Sales6.3…

零基础小白刚刚入门Python的注意点总结~

文章目录 一、注意你的Python版本1.print()函数2.raw_input()与input()3.比较符号&#xff0c;使用!替换<>4.repr函数5.exec()函数 二、新手常遇到的问题1、如何写多行程序&#xff1f;2、如何执行.py文件&#xff1f;3、and&#xff0c;or&#xff0c;not4、True和False…

代码随想录算法训练营Day24 | 122.买卖股票的最佳时期、55.跳跃游戏、45.跳跃游戏||

LeetCode 122 买卖股票的最佳时期 本题思路&#xff1a;记录每天的利润值&#xff0c;第一天的为 0 &#xff0c;第二天的当天的减去前一天的。然后遍历相加为正的利润值。最后得到的结果就是最大利润。 class Solution {public int maxProfit(int[] prices) {int res 0;for(…

使用Nginx和Fancyindex组合搭建文件下载站点详细教程

目录 简介 TIPS 1.下载Nginx 2. 安装Fancyindex和Nginx-Fancyindex-Theme模块 2.1 安装编译工具和依赖 2.2 下载Fancyindex和Nginx-Fancyindex-Theme 2.3 编译Nginx并包括Fancyindex 3. 配置Nginx 4.体验 4.1light主题 4.2dark主题 后记 简介 当使用Nginx和Fancyinde…

Unity3D学习之Unity基础

文章目录 1. 第一部分&#xff1a;MONO中的重要内容2. 延时函数2.1 什么是延时函数2.2 延时函数的使用2.2.1 延时重复函数2.2.2 取消延迟函数2.2.3 判断是否有延迟函数开启2.2.4 延迟函数和依附对象的关系 3 协同程序3.1 Unity中的多线程3.2 协同程序3.3 协程的使用3.3.1 关闭协…

第三课:GPT

文章目录 第三课&#xff1a;GPT1、学习总结&#xff1a;GPT出现的原因GPT的方法原理目前存在的问题无监督的预训练优化目标模型结构 监督微调课程ppt及代码地址 2、学习心得&#xff1a;3、经验分享&#xff1a;4、课程反馈&#xff1a;5、使用MindSpore昇思的体验和反馈&…

【Spring源码分析】扫描并注册BeanDefinition逻辑

扫描并注册BeanDefinition逻辑 一、ClassPathBeanDefinitionScanner 扫描源码分析doScan 扫描的具体逻辑findCandidateComponents 方法解析generateBeanName 方法解析checkCandidate 方法解析 二、总结 阅读此需阅读下面这些博客先【Spring源码分析】Bean的元数据和一些Spring的…

SpringBoot项目中简单使用虚拟机Redis

目录 步骤大致如下&#xff1a; 一.在pom文件中加入redis依赖 二.在虚拟机上打开我们下载好的Redis。开启服务器端并获取虚拟机ip地址 三.在项目配置。 四&#xff1a;使用redis 测试 redis是一个以键值对存储的NoSQL。被数百万开发人员用作缓存、矢量数据库、文档数据库、…

AcWing 68:0到n-1中缺失的数字 ← 二分

【题目来源】https://www.acwing.com/problem/content/64/【题目描述】 一个长度为 n−1 的递增排序数组中的所有数字都是唯一的&#xff0c;并且每个数字都在范围 0 到 n−1 之内。 在范围 0 到 n−1 的 n 个数字中有且只有一个数字不在该数组中&#xff0c;请找出这个数字。【…

vivado 定义板文件板

定义板文件板 &#xff1c;board&#xff1e;标记是板文件的根。它包括识别基本信息的属性关于董事会。 <board schema_version"2.1" vendor"xilinx.com" name"kc705" display_name"Kintex-7 KC705 Evaluation Platform" url&qu…

用C语言实现简单的三子棋游戏

目录 1 -> 模块简介 2 -> test.c 3 -> game.c 4 -> game.h 1 -> 模块简介 test.c:测试游戏逻辑 game.c: 函数的实现 game.h:函数的声明 2 -> test.c #define _CRT_SECURE_NO_WARNINGS 1#include "game.h";void menu() {printf("****…

Harmony Ble蓝牙App(四)描述符

Harmony Ble蓝牙App&#xff08;四&#xff09;描述符 前言正文一、优化二、描述① 概念② 描述提供者③ 显示描述符 三、源码 前言 上一篇中了解了特性和属性&#xff0c;同时显示设备蓝牙服务下的特性和属性&#xff0c;本文中就需要来使用这些特性和属性来完成一些功能。 正…

FaFu--练习复盘--1

1、输出图形及二维数组应用 1.1.输出图形 描述 编写程序打印n行如下图形&#xff0c;其中1≤n≤500。 输入用例 7 输出用例 具体实现 #include"stdio.h" int main(){int n,i,j;scanf("%d",&n);for(i 1; i< n;…

软考系分之计算机网络通信方向、同步和交换

文章目录 1、概述2、通信方向和同步3、交换方式4、总结 1、概述 本篇依旧是一图概括主要考察的知识点&#xff0c;包括通信方向&#xff08;单工、半双工、全双工&#xff09;&#xff0c;同步方式和数据交换等。 2、通信方向和同步 通信方向&#xff08;单工、半双工、全双工…

【react】创建react项目+项目结构

使用create-react-app快速搭建开发环境 create-react-app是一个快速创建React开发环境的工具&#xff0c;底层由Webpack构建&#xff0c;封装了配置细节 npx create-react-app react_hm执行命令后开始创建 创建好执行cd react_hm npm start 当看到webpack compiled successfu…

spring boot shardingsphere mybatis-plus druid mysql 搭建mysql数据库读写分离架构

spring boot shardingsphere mybatis-plus druid mysql 搭建mysql数据库读写分离架构 ##关于window mysql主从搭建简单教程 传送门 window mysql5.7 搭建主从同步环境-CSDN博客 ##父pom.xml <?xml version"1.0" encoding"UTF-8"?> <project…

傲空间私有部署Windows指南

推荐阅读 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;一&#xff09; 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;二&#xff09; 安装 docker 请下载对应的 Docker&#xff0c;安装完成后启动。 Docker Desktop for Windows…

领略指针之妙

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…