Python 小红书评论区采集 小红薯xhs精准用户获客

2023-12-09 09:44

本文主要是介绍Python 小红书评论区采集 小红薯xhs精准用户获客,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


成品图

评论接口
https://edith.xiaohongshu.com/api/sns/web/v2/comment/page?note_id=笔记id&cursor=光标

初次使用cursor为空,该接口为GET,需要x-s,x-t签名验证

子评论接口
https://edith.xiaohongshu.com/api/sns/web/v2/comment/sub/page?note_id=%s&root_comment_id=%s&num=10&cursor=%s

x-s x-t签名生成

# 生成签名演示代码...
import sys
import os
import execjsos.environ['execjs_runtime'] = 'node'
api = '/api/sns/web/v2/comment/page?note_id=笔记id&cursor='  #
a1 = '18be78c8854wic46cdkwy1zzrlwq7stzll75ehpsi50000319688' #具体改为自己的cookie里面的a1
data = '' def main():# 定义参数global api  #调用全局变量global a1global datajs_code = open(r'./地球:jeomoo168获取js文件.js','r', encoding='utf-8').read()js = execjs.compile(js_code)try:ret = js.call('get_xs', api, data, a1)except Exception as e:print('缺少nodejs环境')sys.exit(1)if __name__ == '__main__':main()

获取评论
 

import os
import re
import sys
import time
import execjs
import requestsos.environ['execjs_runtime'] = 'node'def get_headers():return {"authority": "edith.xiaohongshu.com","accept": "application/json, text/plain, */*","accept-language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","content-type": "application/json;charset=UTF-8","origin": "https://www.xiaohongshu.com","referer": "https://www.xiaohongshu.com/","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188","x-s": "","x-t": ""}cookies_obj ='{"sec_poison_id":"0b4e5e8d-97e5-448d-bc33-1343e6b30851",  "webBuild":"3.17.4", "cacheId":"173b5563-69c1-42b9-a15f-bd1d73655eb3", "abRequestId":"f29caa4c-b841-5301-8d62-5166b189e0b6", "web_session":"0400697e396669a2821ea71454374bbbf4ed1e", "websectiga":"3633fe24d49c7dd0eb923edc8205740f10fdb18b25d424d2a2322c6196d2a4ad", "a1":"18c044f0a855kcduza375j9gutezkft2w8lyo56nj50000111235", "gid":"yYS844iyJKEKyYS844i80Y2KY22TSf7u0qW21IVVjk79dv28uTi9Jl888yyJWKy84SSSD12i", "webId":"169a3d7bd4f60a4ff2d504fbe8ca5aea", "xsecappid":"xhs-pc-web"}'
cookies = eval(cookies_obj)  # 转格式json
headers = get_headers()note_id = 笔记id
cursor = ''
api = f"/api/sns/web/v2/comment/page?note_id={note_id}&cursor={cursor}"
a1 = cookies['a1']
data = ''js_code = open('\/:jeomoo168获取js文件.js', encoding='utf-8').read()
js = execjs.compile(js_code)try:ret = js.call('get_xs', api, data, a1)
except Exception as e:print('缺少nodejs环境')print(e.args)sys.exit(1)xs = ret['X-s']
xt = str(ret['X-t'])
print(f'js-get_xs(): xs={xs}')
print(f'js-get_xs(): xt={xt}')headers['x-s'] = ret['X-s']
headers['x-t'] = str(ret['X-t'])url = 'https://edith.xiaohongshu.com'+api
response = requests.get(url, headers=headers, cookies=cookies,verify=False)  # json格式的cookies
res = response.json()
print(res)
if not res["success"]:# {'code': -100, 'success': False, 'msg': '登录已过期', 'data': {}}print("获取失败")sys.exit(1)
else:print('获取成功')print(res["msg"])




 

这篇关于Python 小红书评论区采集 小红薯xhs精准用户获客的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/473338

相关文章

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文