爬虫案列 --抖音视频批量爬取
"""
====================================================================项目名称: 唯品会商品数据爬取
项目描述: 通过requests框架获取网页数据
项目环境: pycharm && python3.8
作者所属: 几许====================================================================1. 对主页抓包 , 鼠标移动到视频位置视频自动播放获得视频数据包
2. 对视频数据包地址进行解析 , 复制链接 , 进行检索
3. 获得视频的数据表
4. 转化为字典类型 , 通过取值获得相应数据===================================================================="""import requests
import json
import os
from tqdm import tqdmclass Spider():def __init__(self):self.name = input("用户名称:")self.url = 'https://www.douyin.com/aweme/v1/web/aweme/post/?device_plat' \'form=webapp&aid=6383&channel=channel_pc_web&sec_user_id=MS4wLj' \'ABAAAARSI_YyerRex7gC78FWY-wnL9LA0VLV0-hw4MsHQXKQc&max_cursor=0&' \'locate_item_id=7319002747116719394&locate_query=false&show_live_' \'replay_strategy=1&need_time_list=1&time_list_query=0&whale_cut_t' \'oken=&cut_version=1&count=18&publish_video_strategy_type=2&pc_cli' \'ent_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=tr' \'ue&screen_width=1739&screen_height=1087&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=Windo' \'ws&os_version=10&cpu_core_num=16&device_memory=8&platform=PC&downlink' \'=10&effective_type=4g&round_trip_time=50&webid=7317298922984064552&ms' \'Token=41miuagnXWbrfJA3fKZcTLpK0uZqsPeVIPFNrcpnIa_qqykpK8IUO85mYnyTrEK' \'grcP_ZMaiDJQmc_yPjtSsGWaRtHX9RUkMff5DWnIlxahYCAHBDBD4wC1IuDBE1Q==&X-Bo' \'gus=DFSzswVObKiANy5nt74z2vB9PimP'self.headers = {'authority': 'www.douyin.com','accept': 'application/json, text/plain, */*','accept-language': 'zh-CN,zh;q=0.9','cookie': 'ttwid=1%7CetvXY3q8LycHG8S_Jbdkn0coDJBB1g4jDT8rUsZxkgE%7C1703691433%7C25a10db3f3cb2286bc61c5df891762b53ed86642718f6514a971a1dd5b926b60; dy_swidth=1739; dy_sheight=1087; volume_info=%7B%22isUserMute%22%3Afalse%2C%22isMute%22%3Atrue%2C%22volume%22%3A0.6%7D; s_v_web_id=verify_lqnxw3p8_LHhIVuoi_xT4U_4GAO_Bso3_NXXogcEL5P6L; passport_csrf_token=a400b27cd87ff688e2ed491b78c86cec; passport_csrf_token_default=a400b27cd87ff688e2ed491b78c86cec; xgplayer_user_id=85464987351; bd_ticket_guard_client_web_domain=2; ttcid=982e11696ecb4394a427ca8a8bc61b8712; FORCE_LOGIN=%7B%22videoConsumedRemainSeconds%22%3A180%2C%22isForcePopClose%22%3A1%7D; passport_assist_user=CkGdWr_4NXuB6776SugOMjnvz8kqR8AAMU-Oo472dCf56_f5plVV3JVgBZS9xHMtKkUpDNjW4YE-wNMhS2l7KCGLaBpKCjy7KERoTX9NxbrlQ4fwf80IWklA7yrQ68hpu4tGNpmPPb5DgZY1oISMsOHOHsdhCZyB4S2tzcky5UgdolAQ-b_FDRiJr9ZUIAEiAQMCSFAU; n_mh=aOe6MoW0EhRYuUYuxK7zU5ABLi2JtbyKLjBKJVaPHY4; sso_uid_tt=6ed47ea04759b3a853fbad85bf16f1c0; sso_uid_tt_ss=6ed47ea04759b3a853fbad85bf16f1c0; toutiao_sso_user=be81bb8ea7faacdcbc9dd5db7758dcde; toutiao_sso_user_ss=be81bb8ea7faacdcbc9dd5db7758dcde; sid_ucp_sso_v1=1.0.0-KDExYWI4ZTY3MzIwZDMxOTFkZmZiNDY1NTE4ODMzOGI4OTM4MTJmODYKHwi9tIDt1YzkAxChhMusBhjvMSAMMMDC14IGOAZA9AcaAmxmIiBiZTgxYmI4ZWE3ZmFhY2RjYmM5ZGQ1ZGI3NzU4ZGNkZQ; ssid_ucp_sso_v1=1.0.0-KDExYWI4ZTY3MzIwZDMxOTFkZmZiNDY1NTE4ODMzOGI4OTM4MTJmODYKHwi9tIDt1YzkAxChhMusBhjvMSAMMMDC14IGOAZA9AcaAmxmIiBiZTgxYmI4ZWE3ZmFhY2RjYmM5ZGQ1ZGI3NzU4ZGNkZQ; passport_auth_status=66f3029dfff0bfcbcc4a88214c47101a%2C; passport_auth_status_ss=66f3029dfff0bfcbcc4a88214c47101a%2C; uid_tt=30af4edf2be0abcf7863968a5619085f; uid_tt_ss=30af4edf2be0abcf7863968a5619085f; sid_tt=2876f1470127b791f0cf9a72cd86dfe8; sessionid=2876f1470127b791f0cf9a72cd86dfe8; sessionid_ss=2876f1470127b791f0cf9a72cd86dfe8; publish_badge_show_info=%220%2C0%2C0%2C1704116788119%22; LOGIN_STATUS=1; _bd_ticket_crypt_doamin=2; _bd_ticket_crypt_cookie=e7315ef4e091ee513451063fa2da5513; __security_server_data_status=1; sid_guard=2876f1470127b791f0cf9a72cd86dfe8%7C1704116794%7C5183978%7CFri%2C+01-Mar-2024+13%3A46%3A12+GMT; sid_ucp_v1=1.0.0-KDhiOTQ5YTE0NDA1ZmJjMWViOWZmNmZmZjFmNTc5NTA2MTU1MGM1OWUKGwi9tIDt1YzkAxC6hMusBhjvMSAMOAZA9AdIBBoCbGYiIDI4NzZmMTQ3MDEyN2I3OTFmMGNmOWE3MmNkODZkZmU4; ssid_ucp_v1=1.0.0-KDhiOTQ5YTE0NDA1ZmJjMWViOWZmNmZmZjFmNTc5NTA2MTU1MGM1OWUKGwi9tIDt1YzkAxC6hMusBhjvMSAMOAZA9AdIBBoCbGYiIDI4NzZmMTQ3MDEyN2I3OTFmMGNmOWE3MmNkODZkZmU4; store-region=cn-ah; store-region-src=uid; download_guide=%223%2F20240101%2F1%22; my_rd=2; EnhanceDownloadGuide=%220_0_0_0_1_1704117357%22; pwa2=%220%7C0%7C3%7C0%22; strategyABtestKey=%221704267225.226%22; SEARCH_RESULT_LIST_TYPE=%22single%22; douyin.com; device_web_cpu_core=16; device_web_memory_size=8; architecture=amd64; csrf_session_id=3af6123a976801945da40296beb67c81; stream_recommend_feed_params=%22%7B%5C%22cookie_enabled%5C%22%3Atrue%2C%5C%22screen_width%5C%22%3A1739%2C%5C%22screen_height%5C%22%3A1087%2C%5C%22browser_online%5C%22%3Atrue%2C%5C%22cpu_core_num%5C%22%3A16%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%3A50%7D%22; __ac_nonce=06595391400381d9d7250; __ac_signature=_02B4Z6wo00f01kfyV6wAAIDBeltNM7xgII5H0lMAAPR4zvgmgRl4bZQiw8Hy7m1HJQyGxv-69JHZ7ep7bv06SKWB3HnU902JGVt5BoxWU57grcNKrgwl0D1h-fnclHqOBW1bw14QCmbhuaeCea; FOLLOW_NUMBER_YELLOW_POINT_INFO=%22MS4wLjABAAAAH_la9atp1nq0NfBl06KGYylxI45qL-L_V1YPgFrYa2a44J05vyu0abQGp13pO8_m%2F1704297600000%2F1704267233660%2F0%2F1704279492177%22; tt_scid=jaahDcXkVC9dvqUIH5uGmlzxfBiNsOFnKCsQFb1O8AspLavoMj5sv3PBOnnmhNLAd099; passport_fe_beating_status=true; stream_player_status_params=%22%7B%5C%22is_auto_play%5C%22%3A0%2C%5C%22is_full_screen%5C%22%3A0%2C%5C%22is_full_webscreen%5C%22%3A0%2C%5C%22is_mute%5C%22%3A1%2C%5C%22is_speed%5C%22%3A1%2C%5C%22is_visible%5C%22%3A0%7D%22; xg_device_score=7.664966583511937; bd_ticket_guard_client_data=eyJiZC10aWNrZXQtZ3VhcmQtdmVyc2lvbiI6MiwiYmQtdGlja2V0LWd1YXJkLWl0ZXJhdGlvbi12ZXJzaW9uIjoxLCJiZC10aWNrZXQtZ3VhcmQtcmVlLXB1YmxpYy1rZXkiOiJCUGltTkFHc1RpTkhpNmNyeFhOSExXb2tMQ3duQWE2RnQyNGZNSlVnbVVlOTBzQ3NSUGpqVSt2ajVjUUl0czBtOEFBNGl4K1Y2MWRTOHorTGVnY2FBeE09IiwiYmQtdGlja2V0LWd1YXJkLXdlYi12ZXJzaW9uIjoxfQ%3D%3D; msToken=tyKrHlga8UZGJDBEwpGp7urIvXmrT9jeFWRj35PdBv6_f1bvA1RrKwQKipwekauBXqeeSDLP3tyH32ow7LFDhA50p8N1dAmoMScRT-2JNrl0wQ4HW-jGM_-imzkb; msToken=F4m6s_dH7A-07AFYB0Xd0TvUzrjRVYE6ZHvFsVzD8h3O6IU_0foQiXoFw0zFG1D1alVcOEsFgU0NbraMql0b3JAZX7EWmsvhkNPem0iik9HWek_CFpw2lY8kS9gX; odin_tt=3ecfdb9d2b86cb25ea7999936d0bac85c7423d8abe2fcab0ac0b4e89a71be53a73c178c90455d05d6454792b4a4d822d90ec2afdfb6edd932ca068a1cb79e012; IsDouyinActive=true; home_can_add_dy_2_desktop=%220%22','referer': 'https://www.douyin.com/user/MS4wLjABAAAAkzRSrOuSsM4Z1Ricsddumx_aSvX0jmOPcQR2qTs3PEtImBD8BomLrqvtIOBKOL0P','sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"','sec-fetch-dest': 'empty','sec-fetch-mode': 'cors','sec-fetch-site': 'same-origin','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' }def prase_data(self):msg = requests.get(self.url, headers=self.headers).textjson_msg = json.loads(msg)dict_msg = json_msg['aweme_list']for dict in tqdm(dict_msg):if dict['desc'] == '':title = dict['aweme_id']elif dict['desc'].split()[0]:title = dict['desc'].split()[0]else:title = dict['desc']link = dict['video']['play_addr']['url_list'][0]if title == '':title = dict['aweme_id']movie = requests.get(link).contentself.keep_data(title,movie)def keep_data(self,title,link):if not os.path.exists(self.name):os.makedirs(self.name)with open(f'{self.name}\{title}.mp4','wb')as f:f.write(link)if __name__ == '__main__':spider = Spider()spider.prase_data()
相关文章:
爬虫案列 --抖音视频批量爬取
""" 项目名称: 唯品会商品数据爬取 项目描述: 通过requests框架获取网页数据 项目环境: pycharm && python3.8 作者所属: 几许1. 对主页抓包 , 鼠标移动到视频位置视频自动播放获得视频数据包 2. 对视频数据包地址进行解析 , 复制链接 , 进行检索 3. 获…...

【React系列】React中的CSS
本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. React中的css方案 1.1. react 中的 css 事实上,css 一直是 React 的痛点,也是被很多开发…...

基于Kettle开发的web版数据集成开源工具(data-integration)-应用篇
目录 📚第一章 基本流程梳理📗页面基本操作📗对应后台服务流程 📚第二章 二开思路📗前端📗后端 🔼上一集:基于Kettle开发的web版数据集成开源工具(data-integration)-介绍篇 *️⃣主…...
51单片机三种编译模式的相互关系
51单片机三种编译模式的相互关系 编译模式默认存储类型RAM使用规模变量使用特点SAMLLdata128B片内RAM使用规模CPU访问数据速度快,但存储容量较小COMPACTpdata258B片外分页RAM速度和容量介于上下两者之间LARGExdata64KB片外RAMCPU访问数据的速度较慢,但存…...
java 千帆大模型 流式返回
聊天有两个接口,第一个是获取token, 第二个是聊天接口,具体参照官方文档 下面是流式调用聊天接口,单次的,不含上下文 Value("${qianfan.apiKey}")private String apiKey;Value("${qianfan.secretKey}")private String secretKey;Value("${qianfan.to…...

全新互联网洗衣洗鞋小程序平台新模式
互联网洗衣洗鞋新模式, 全新软件升级 对接各大平台 扩大营销渠道,增加效益!...
js 对于一些脚本中对于url的一些参数获取
js 对于一些脚本中对于url的一些参数获取 获取当前浏览器的链接上的参数(不使用vue / react 等框架)仅用在一些脚本上的使用 获取当前浏览器的链接上的参数(不使用vue / react 等框架)仅用在一些脚本上的使用 const query {} const params new URLSear…...

IEDA中tomcat日志乱码解决
文章目录 乱码样式原因解决方案参考 乱码样式 原因 乱码原因是编码格式的问题,编码格式不统一,导致显示乱码。 解决方案 统一编码格式。 打开tomcat的配置文件,conf/logging.properties,进行如下修改 进入idea的安装文件中,b…...

计算机网络实验(六):三层交换机实现VLAN间路由
一、实验名称:三层交换机实现VLAN间路由 二、实验原理 2.1. VLAN基本配置 在交换网络中,为了实现对物理网络的逻辑划分,引入了VLAN(虚拟局域网)的概念。VLAN通过将不同的设备划分到不同的虚拟网络中,实现了逻辑隔离。基本配置包括在交换机上创建VLAN、将端口划分到相应…...
Flutter中showModalBottomSheet的属性介绍和使用
在Flutter中,showModalBottomSheet是一个常用的工具,用于在屏幕底部显示模态底部面板。了解其属性将帮助您更好地定制和控制底部模态框的外观和行为。 showModalBottomSheet的常用属性 1. context: 类型: BuildContext描述: 表示当前构建上下文&#…...
机器学习 -- k近邻算法
场景 我学习Python的初衷是学习人工智能,满足现有的业务场景。所以必须要看看机器学习这一块。今天看了很久,做个总结。 机器学习分为深度学习和传统机器学习 深度学习 深度学习模型通常非常复杂,包含多层神经网络,每一层都包含…...

安全测试之SSRF请求伪造
前言 SSRF漏洞是一种在未能获取服务器权限时,利用服务器漏洞,由攻击者构造请求,服务器端发起请求的安全漏洞,攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求。 很多Web应用都提供了从其他的服务器上…...
php composer安装
引言 Composer 是 PHP 中的依赖管理工具。它允许您声明您的项目所依赖的库,并且它将为您管理(安装/更新)它们。 官网链接:Introduction - Composer 安装 要在当前目录中快速安装 Composer,请在终端中运行以下脚本。…...

【MyBatis】MyBatis基础操作
文章目录 前言注解方式书写 MyBatis打印 MyBatis 日志参数传递MyBatis 增加操作返回主键 MyBatis 删除操作MyBatis 修改操作MyBatis 查找操作1. 对查询结果进行别名2. Results注解3. 开启驼峰命名(推荐) XML 配置文件方法书写 MyBatis配置数据库的相关配…...
Automatic merge failed; fix conflicts and then commit the result.如何处理
当你在Git中遇到 “Automatic merge failed; fix conflicts and then commit the result.” 的错误时,这意味着你尝试合并两个分支时出现了冲突。Git无法自动解决这些冲突,因此需要你手动解决。以下是处理这种情况的步骤: 找出冲突文件: 运行…...

一文读懂 $mash 通证 “Fair Launch” 规则(幸运池玩法解读篇)
Solmash 是 Solana 生态中由社区主导的铭文资产 LaunchPad 平台,该平台旨在为 Solana 原生铭文项目,以及通过其合作伙伴 SoBit 跨链桥桥接到 Solana 的 Bitcoin 生态铭文项目提供更广泛的启动机会。有了 Solmash,将会有更多的 Solana 生态的铭…...
Qt3D QGeometryRenderer几何体渲染类使用说明
Qt3D中的QGeometryRenderer派生出来的几何体类包括: Qt3DExtras::QConeMesh, Qt3DExtras::QCuboidMesh, Qt3DExtras::QCylinderMesh, Qt3DExtras::QExtrudedTextMesh, Qt3DExtras::QPlaneMesh, Qt3DExtras::QSphereMesh, Qt3DExtras::QTorusMesh, and Qt3DRender::QMesh 有球…...
pandasDataFrame读和写csv文件
从.csv文件读数据 import pandas as pd# 从CSV文件中读取数据 train_df pd.read_csv("datasets/train01.csv") val_df pd.read_csv("datasets/val01.csv") test_df pd.read_csv("datasets/test01.csv")# 显示数据框的前几行,确保…...
力扣122. 买卖股票的最佳时机 II
动态规划 思路: 假设 dp[i][0] 是第 i 天手上没有股票时的最大利润, dp[i][1] 是第 i 天手上有 1 支股票的最大利润;dp[i][0] 的迁移状态为: dp[i - 1][0],前一天手上已经没有股票,没有发生交易࿱…...
Go语言断言和类型查询
Go语言断言和类型查询 1、类型断言 类型断言(Type Assertion)是一个使用在接口值上的操作,用于检查接口类型变量所持有的值是否实现了期望的接 口或者具体的类型。 在Go语言中类型断言的语法格式如下: // i.(TypeNname) value, ok : x.(T)其中&…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...

Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...

ABAP设计模式之---“Tell, Don’t Ask原则”
“Tell, Don’t Ask”是一种重要的面向对象编程设计原则,它强调的是对象之间如何有效地交流和协作。 1. 什么是 Tell, Don’t Ask 原则? 这个原则的核心思想是: “告诉一个对象该做什么,而不是询问一个对象的状态再对它作出决策。…...
MyBatis-Plus 常用条件构造方法
1.常用条件方法 方法 说明eq等于 ne不等于 <>gt大于 >ge大于等于 >lt小于 <le小于等于 <betweenBETWEEN 值1 AND 值2notBetweenNOT BETWEEN 值1 AND 值2likeLIKE %值%notLikeNOT LIKE %值%likeLeftLIKE %值likeRightLIKE 值%isNull字段 IS NULLisNotNull字段…...

Web APIS Day01
1.声明变量const优先 那为什么一开始前面就不能用const呢,接下来看几个例子: 下面这张为什么可以用const呢?因为复杂数据的引用地址没变,数组还是数组,只是添加了个元素,本质没变,所以可以用con…...