爬虫案列 --抖音视频批量爬取
"""
====================================================================项目名称: 唯品会商品数据爬取
项目描述: 通过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)其中&…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...