小红书视频图文提取:采集+CV的实战手记

爬虫代理

项目说明:这波视频,值不值得采?

你有没有遇到过这样的场景?老板说:“我们得看看最近小红书上关于‘旅行’的视频都说了些什么。”团队做数据分析的,立马傻眼:官网打不开、接口抓不着、视频不能保存。

事实上,小红书短视频内容正逐步成为品牌营销、热点追踪、图像分析等领域的“情绪入口”。尤其是搜索页前几条视频,往往已经代表了这个关键词下用户眼中的“热门答案”。

本项目就是围绕这样一个需求展开的:我们希望通过关键词搜索,自动抓取小红书里排在前3名的视频内容,包括:

  • 封面图
  • 视频文件(如果有)
  • 标题、作者、发布时间这些基本信息

你可以把这个脚本当成一个“图文数据下载器”,用来收集训练素材、做内容统计,或者单纯保存好看的视频封面图。再配合一些图像识别、文本处理工具,后续的玩法空间就打开了。


重点功能梳理(清单式整理)

功能点用处说明
搜索关键词获取你关心的词条的前三条笔记
提取图片/视频链接拿到视频的原始文件地址,不是截图!
拿到文本数据包括标题、作者、时间,方便后续分析
使用代理IP为了稳定访问和防止触发风控
模拟浏览器模拟真实用户行为,让服务器“误以为”是人类在操作

关键代码段(能直接拿去用)

1、网络配置部分(含代理和请求头)

import requests# 爬虫代理加强版(参考亿牛云代理)
proxy_host = "proxy.16yun.cn"
proxy_port = "9020"
proxy_user = "16YUN"
proxy_pass = "16IP"proxies = {"http": f"http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}","https": f"http://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}",
}# 请求头和 Cookie(可通过浏览器复制)
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/122.0.0.0 Safari/537.36","Cookie": "这里替换为你自己的cookie字符串",
}

2、分析搜索页接口,获取核心数据

import jsondef search_notes(keyword):url = "https://edith.xiaohongshu.com/api/sns/web/v1/search/notes"params = {"keyword": keyword,"sort": "general","page": 1,"page_size": 10}resp = requests.get(url, headers=headers, proxies=proxies, params=params)data = json.loads(resp.text)results = []for i, item in enumerate(data['data']['items'][:3]):note = item.get("note_card", {})results.append({"title": note.get("title", ""),"author": note.get("user", {}).get("nickname", ""),"time": note.get("time", ""),"cover_img": note.get("image_list", [{}])[0].get("url", ""),"video_url": note.get("video", {}).get("media", {}).get("url", "")})return results

2.1下载视频和图片内容

def download_file(url, filename):if not url:print(f"跳过空链接:{filename}")returnresp = requests.get(url, headers=headers, proxies=proxies, stream=True)with open(filename, 'wb') as f:for chunk in resp.iter_content(chunk_size=8192):f.write(chunk)print(f"下载完成:{filename}")

2.2 主流程(边抓边下)

if __name__ == "__main__":kw = "旅行Vlog"results = search_notes(kw)for idx, r in enumerate(results):print(f"\n第{idx+1}条")print("标题:", r["title"])print("作者:", r["author"])print("时间:", r["time"])download_file(r["cover_img"], f"cover_{idx+1}.jpg")download_file(r["video_url"], f"video_{idx+1}.mp4")

使用建议

  • 代理推荐:使用类似“亿牛云”这种住宅动态代理,稳定性高一些
  • Cookie处理:自己手动登录小红书网页版后从控制台复制即可
  • 接口变动:小红书接口可能不定期改,建议用抓包工具(如Mitmproxy)定期确认
  • 频率控制:尽量控制访问频率,模拟正常用户节奏

快速试运行指引

  1. 打开浏览器,登录小红书网页版
  2. 用F12打开开发者工具,获取请求头 & cookie
  3. 替换代码里的对应字段
  4. 运行脚本,看是否能成功输出视频标题、作者和时间
  5. 查看脚本目录,是否下载了封面图和视频文件

其他建议:可以加点视觉分析的料

如果你要搞点图像识别,可以用 OpenCV 对封面图做点筛选,例如:

import cv2def is_valid_image(path):img = cv2.imread(path)if img is None:return False# 这里可以加你自己的图片过滤逻辑return True

最后

如果你只是想定期拉取关键词对应的视频内容,这个脚本就足够用了;如果你还想做图像识别、评论情绪分析甚至推荐系统,那就可以在此基础上扩展。

这套逻辑目前在我们用得还挺稳定的(当然接口不能挂),你也可以根据业务做适当裁剪和封装。遇到接口变更或风控升级,建议直接用浏览器工具重新确认数据来源。

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

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

相关文章

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…

从编辑到安全设置: 如何满足专业文档PDF处理需求

随着数字化办公的发展,PDF 已成为跨平台文档交互的标准格式。无论是在日常办公、学术研究,还是项目协作中,对 PDF 文件进行高效编辑与管理的需求日益增长。功能全面、操作流畅且无额外负担的 PDF 编辑工具,它是一款在功能上可与 A…

Kafka消费者组位移重设指南

#作者:张桐瑞 文章目录 一、Kafka 与传统消息引擎的核心差异二、重设消费者组位移的核心原因三、重设位移的两大维度与七种策略四、重设位移的实现方式(一)Java API 方式(二)命令行脚本方式(Kafka 0.11&am…

分类模型:逻辑回归

1、针对设计:二分类 Logistic 回归最初是为二分类问题设计的, Logistic 回归基于概率,通过 Sigmoid 函数转换输入特征的线性组合,将任意实数映射到 [0, 1] 区间内。 通过引入一个决策规则(通常是概率的阈值&#xff…

CppCon 2015 学习:C++ WAT

这段代码展示了 C 中的一些有趣和令人困惑的特性,尤其是涉及数组访问和某些语法的巧妙之处。让我们逐个分析: 1. assert(map[“Hello world!”] e;) 这一行看起来很不寻常,因为 map 在这里被用作数组下标访问器,但是在前面没有…

vscode自定义主题语法及流程

vscode c/c 主题 DIY 启用自己的主题(最后步骤) 重启生效 文件–>首选项–>主题–>颜色主题: 也可以在插件里找到哈 手把手教你制作 在C:\Users\jlh.vscode\extensions下自己创建一个文件夹 里面有两个文件和一个文件夹 具体内容: package.json: {"name&…

前端传递日期范围(开始时间和结束时间),后端解析及查询

前端技术&#xff1a;Vue3 TypeScript Element Plus 后端技术&#xff1a;Java Spring Boot MyBatis 应用效果&#xff1a; 原来方案 1、前端日期控件使用 el-date-picker&#xff0c;日期显示格式和日期值返回格式都为&#xff1a;YYYY-MM-DD <el-form :model"…

零基础设计模式——行为型模式 - 命令模式

第四部分&#xff1a;行为型模式 - 命令模式 (Command Pattern) 接下来&#xff0c;我们学习行为型模式中的命令模式。这个模式能将“请求”封装成一个对象&#xff0c;从而让你能够参数化客户端对象&#xff0c;将请求排队或记录请求日志&#xff0c;以及支持可撤销的操作。 …

禁止 Windows 更新后自动重启

Windows 默认会在安装重要更新后自动重启&#xff0c;但你可以调整设置来避免这种情况&#xff1a; ​​方法 1&#xff1a;通过组策略&#xff08;适用于 Windows 专业版/企业版&#xff09;​​ 按 Win R&#xff0c;输入 gpedit.msc 打开 ​​本地组策略编辑器​​。导航…

GoldenDB简述

GoldenDB是国产的分布式数据库。它彻底解决了事务一致性&#xff0c;数据实时一致性的问题。采用的是Shared Nothing&#xff08;分片式存储&#xff09;的分布式架构。就是不共享数据&#xff0c;各自节点持有各自的数据。对比不共享的&#xff0c;还有其他两种分布式架构&…

训练过程中的 Loss ?

文章目录 在我们训练的过程中&#xff0c;设置好这个epochs也就是训练的轮次&#xff0c;然后计算这个损失函数&#xff0c;我们可以知道这个具体的训练的情况&#xff0c;那么在训练的过程中&#xff0c;这个损失函数的变化有哪些情况&#xff1f;对应的一个解释情况是怎么样的…

S2B2B农产品供应链交易多平台开发有哪些发展前景?如何维护?

一、S2B2B农产品供应链交易多平台开发的未来发展前景 本文将由小编为您介绍关于S2B2B农产品供应链交易多平台开发的内容&#xff0c;希望能够帮助大家。在数字化时代&#xff0c;农产品供应链的数字化转型成为了一种必然趋势。S2B2B(Supplier to Business to Business)模式通过…

关于有害的过度使用 std::move

翻译&#xff1a;2023 11 月 24 日On harmful overuse of std::move cppreference std::move 论 std::move 的有害过度使用 - The Old New Thing C 的 std::move 函数将其参数转换为右值引用&#xff0c;这使得其内容可以被另一个操作“消费”&#xff08;移动&#xff09;。…

Ubuntu24.04 onnx 模型转 rknn

前面的环境配置有点懒得写&#xff0c;教程也很多&#xff0c;可以自己找 rknn-toolkit2 gitee 地址&#xff1a;pingli/rknn-toolkit2 试了很多开源的代码&#xff0c;都没办法跑通&#xff0c; 最后自己改了一版 微调后的 qwen2 模型适用 from rknn.api import RKNN impor…

Electron通信流程

前言 今天讲Electron框架的通信流程&#xff0c;首先我们需要知道为什么需要通信。这得益于Electron的多进程模型&#xff0c;它主要模仿chrome的多进程模型如下图&#xff1a; 作为应用开发者&#xff0c;我们将控制两种类型的进程&#xff1a;主进程和渲染器进程 。 …

uni-app项目实战笔记1--创建项目和实现首页轮播图功能

ps:本笔记来自B站咸虾米壁纸项目 一.创建项目&#xff0c;完成项目初始化搭建 1.在HBuilder X创建wallper项目&#xff0c;使用默认模块&#xff0c;选择vue&#xff1b; 2.在项目根目录下创建common目录&#xff0c;用于存放静态资源&#xff0c;创建项目时自动生成static目…

机械制造系统中 PROFINET 与 PROFIBUS-DP 的融合应用及捷米科技解决方案

在机械制造领域&#xff0c;工业通信网络的兼容性与灵活性直接影响产线的自动化水平与生产效率。当前&#xff0c;多数机械制造系统采用PROFINET 控制器构建核心网络架构&#xff0c;并通过微波无线连接实现设备互联。随着工业网络的发展&#xff0c;系统中常需同时集成PROFINE…

MCP 协议系列序言篇:开启 AI 应用融合新时代的钥匙

文章目录 序言&#xff1a;AI 应用层进入 MCP 时代为什么 MCP 开启 AI 应用融合新时代的钥匙为什么是 MCP&#xff1f;它与 Function Calling、Agent 有什么区别&#xff1f;Function CallingAI AgentMCP&#xff08;Model Context Protocol&#xff09; MCP 如何工作MCP Serve…

【threejs】每天一个小案例讲解:光照

代码仓 GitHub - TiffanyHoo/three_practices: Learning three.js together! 可自行clone&#xff0c;无需安装依赖&#xff0c;直接liver-server运行/直接打开chapter01中的html文件 运行效果图 知识要点 常见光照类型及其特点如下&#xff1a; 1. 环境光&#xff08;Ambi…

大模型在输尿管下段积水预测及临床应用的研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 研究范围与限制 1.4 文献综述 1.5 研究方法和框架 二、相关理论与概念 2.1 大模型技术原理 2.2 输尿管下段积水病理机制 2.3 大模型在医学预测领域的应用 三、大模型预测输尿管下段积水的方法 3.1 数据收集 3.…