python刷小红书流量(小眼睛笔记访问量),metrics_report接口,原理及代码,以及x-s签名验证2023-08-21

一、什么是小眼睛笔记访问量


  如下图所示,为笔记访问量。

 二、小眼睛笔记访问量接口


1、url

https://edith.xiaohongshu.com/api/sns/web/v1/note/metrics_report

2、payload

data={"note_id": note_id,"note_type": note_type,"report_type": 1,"stress_test": False,"viewer": {"user_id": viewer_id,"followed_author": 0},"author": {"user_id": user_id},"interaction": {"like": 0,"collect": 0,"comment": 0,"comment_read": 0},"note": {"stay_seconds": 0},"other": {"platform": "web"}}

参数说明:
note_id:要刷的笔记ID;
note_type:笔记类别;1为图文;2为视频;
viewer.user_id:访问笔记的使用者ID;
author.user_id:笔记作者的ID;
经测试发现,除了这四个字段,其它字段固定不变。

二、python刷流量源代码

# -*- coding: UTF-8 -*-import time
import requests
import json
import random,math
import execjsdef brush(note_id,note_type,user_id):a1,webId,viewer_id,web_session=register_session()          #动态注册一个访问者身份及会话    技术支持:v+:byc6352data={"note_id": note_id,"note_type": note_type,"report_type": 1,"stress_test": False,"viewer": {"user_id": viewer_id,"followed_author": 0},"author": {"user_id": user_id},"interaction": {"like": 0,"collect": 0,"comment": 0,"comment_read": 0},"note": {"stay_seconds": 0},"other": {"platform": "web"}}data_json=json.dumps(data,ensure_ascii=False, separators=(",", ":"))headers={"accept": "application/json, text/plain, */*","content-type": "application/json;charset=UTF-8","Referer": "https://www.xiaohongshu.com/","Sec-Ch-Ua": "\"Not_A Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Google Chrome\";v=\"115\"","Sec-Ch-Ua-Mobile": "?0","Sec-Ch-Ua-Platform": "\"Windows\"","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","X-S-Common": "2UQAPsHC+aIjqArjwjHjNsQhPsHCH0rjNsQhPaHCH0P1+jhIHjIj2eHjwjQgynEDJ74AHjIj2ePjwjQhyoPTqBPT49pjHjIj2ecjwjHAN0c1PaHVHdWMH0ijP/W98ePIweHIG/zTPeS0G08dJBYh8/bYqnTAPfRV40bVw/464Abd4nhMPeZIPecIweWhPjHVHdW9H0il+0DUP/GU+/LMw/WMNsQh+UHCHSY8pMRS2LkCGp4D4pLAndpQyfRk/SzbyLleadkYp9zMpDYV4Mk/a/8QJf4hanS7ypSGcd4/pMbk/9St+BbH/gz0zFMF8eQnyLSk49S0Pfl1GflyJB+1/dmjP0zk/9SQ2rSk49S0zFGMGDqEybkea/8QyDb7nfMb2pkoafl+zMSCnD4p2LMoLgYwySQi/nM8PrRrc/z+zMQT/Fzb4FMLcfk+2DMEnDz++rMgpgkyzFET/gkwySSTzfY+zrbh/D4+2bSC/gSyyDph/dkVypkryAzwySDM/gknyrExa/zwyDME/fkByLEopgkyzB+hnpzpPbkT//pyprEknfMayrMgnfY8pr8Vnnk34MkrGAm8pFpC/p4QPLEo//++JLE3/L4zPFEozfY+2D8k/SzayDECafkyzF8x/Dzd+pSxJBT8pBYxnSznJrEryBMwzF8TnnkVybDUnfk+PS8i/nkyJpkLcfS+ySDUnpzyyLEo/fk+PDEk/Szp2pSxzfTypFFF/pz32SSCLg4wyDM7/FziJrhUzg4ypr8infk02LMoz/mwPS8inD4+2rECL/QyzrrA/p4QPFMTng482DQT/dk3PrFUp/+8yDbE/gkpPrEgp/z+pr8xnDzzPFEonfTyzFMh/Fzz+LMLp/QwyDrMnSztJpSga/p82SkVnfkQPLRrGAQyzrET/D48+LMxyAmwpMki/F4b2rMga/bwpFLAngk3PpSgzgS+pMQTnfkwyLMx87YOpBYTnSzayLRLcfS8JLDU/D4bPFMoafSwpbDI/Dz3PpSTpflOprM7nfk+PrExz/p82SrUnpzz+rExpgY+prLI/LzDJLEEa0DjNsQhwsHCHDDAwoQH8B4AyfRI8FS98g+Dpd4daLP3JFSb/BMsn0pSPM87nrldzSzQ2bPAGdb7zgQB8nph8emSy9E0cgk+zSS1qgzianYt8p+1/LzN4gzaa/+NqMS6qS4HLozoqfQnPbZEp98QyaRSp9P98pSl4oSzcgmca/P78nTTL0bz/sVManD9q9z1J7+xJMcM2gbFnobl4MSUcdb6agW3tF4ryaRApdz3agWIq7YM47HFqgzkanTU4FSkN7+3G9PAaL+P8DDA/9LI4gzVP0mrnd+P+nprLFkSyS87PrSk8nphpd4PtMmFJ7Ql4BYcnLkSpfloNFS9zrzQyobL8M87/Fkl4opQ2rp0nS+N8p8M4eSQ4d8SpS8FnDS3JrTQyAYUJDr9qMSpqp8CNApSyS8F2fR/+g+/G7Qg2fcM8p+gGMmQ2o8SzbmFNFSbN9pf4gzBqSSnpLE1/r4Q2BRSpop7JBETP9ph8rpcanTg/FSkaBMlqAYraL+rqaTBpfRQyn+k8pmF+LSenfWFcDEAzomN8gYl4rbQPFbAyfq7qM40O/FjNsQhwaHCP0Z7+eq7+AHI+aIj2erIH0iAKc==","X-B3-Traceid": get_traceid(),"Cookie": f"a1={a1};webId={webId};web_session={web_session}",}# 调用js签名文件。with open('xs20230530.js', 'r', encoding='utf-8') as f:js = f.read()crt = execjs.compile(js)xs_xt = crt.call('get_xs', '/api/sns/web/v1/note/metrics_report', data_json, a1)            #x-s数据签名xs_xt['X-t'] = str(xs_xt['X-t'])headers["X-S"] = xs_xt["X-s"]headers["X-T"] = xs_xt["X-t"]url="https://edith.xiaohongshu.com/api/sns/web/v1/note/metrics_report"res = requests.post(url, data=data_json.encode('utf-8'),headers=headers,proxies=proxies)    #通过代理访问print(res.text)if __name__ == '__main__':note_id = "649ce647000000001300c901"       #要刷的笔记IDnote_type=2                                                     #笔记类型为视频user_id= "640d1628000000001400dc4d"       #笔记作者#brush(note_id,note_type,user_id)i=1000  #刷1000次while i>0:brush(note_id,note_type,user_id)time.sleep(random.randint(3,5))  #每次随机间隔3至5秒i=i-1print(i)    

三、不断增加笔记访问量的方法(动态注册访问者身份及会话)


1、通过metrics_report这个接口发POST请求,每请求一次可使访问量加1,APP端同步更新。
实测发现,如果使用固定的viewer.user_id和web_session多次POST,大概10次左右,小眼睛访问量不会增加了。
原因是同一个访问者同一个会话刷访问量是有限的。因此必须动态生成viewer.user_id访问者和web_session会话。
构造不同的访问者和会话才能使小眼睛访问量不断增加!技术~~支持:v+:byc6352
2、动态生成不同的访问者身份及会话
register_session()返回四个参数:a1,webId,viewer_id,web_session
功能是注册一个访问者会话,返回viewer_id为访问者ID,web_session为会话标识。
a1,webId为cookie里需要的参数;
这样每次POST刷访问量都使用不同的访问者身份和会话,同时开代理动态改变IP,就能模拟出不同的访问者身份及会话,使流量增加。

四、metrics_report接口调用成功返回

{"msg":"成功","data":{"success":true},"code":0,"success":true}

 

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

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

相关文章

爬虫逆向实战(十九)--某号站登录

一、数据接口分析 主页地址:某号站 1、抓包 通过抓包可以发现登录接口 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现有一个jsondata_rsa的加密参数 请求头是否加密? 无响应是否加密? 无cookie是否…

【报错】yarn --version Unrecognized option: --version Error...

文章目录 问题分析解决问题 在使用 npm install -g yarn 全局安装 yarn 后,查看yarn 的版本号,报错如下 PS D:\global-data-display> yarn --version Unrecognized option: --version Error: Could

数据结构---串(赋值,求子串,比较,定位)

目录 一.初始化 顺序表中串的存储 串的链式存储 二.赋值操作:将str赋值给S 链式表 顺序表 三.复制操作:将chars复制到str中 链式表 顺序表 四.判空操作 链式表 顺序表 五.清空操作 六.串联结 链式表 顺序表 七.求子串 链式表 顺序表…

掌握AI助手的魔法工具:解密Prompt(提示)在AIGC时代的应用「上篇」

在当今的AIGC时代,我们面临着越来越多的人工智能技术和应用。其中一个引人注目的工具就是Prompt(提示)。它就像是一种魔法,可以让我们与AI助手进行更加互动和有针对性的对话。那么,让我们一起来了解一下Prompt&#xf…

广东灯具3D扫描抄数建模服务3D测绘出图纸三维逆向设计-CASAIM

灯具三维逆向建模是一种将实际物体转换为数字模型的过程。通过逆向工程技术,可以将现有的灯具进行3D扫描,然后利用专业的逆向设计软件将其转换为准确的三维模型。 以下是CASAIM实施灯具三维逆向建模的一般步骤图: 1. 扫描:三维扫…

电商直播大行其道,游戏直播日渐式微:虎牙、斗鱼求变

曾几何时,游戏直播领域格外热闹,一度上演千播大战的火热赛况。如今,游戏直播行业已经基本形成了虎牙、斗鱼两强相对的市场格局。随着游戏直播行业告别高增长阶段,逐渐进入存量竞争时代,行业竞争也变得愈发激烈。即便是…

Java面试题--设计模式

一、Java 中有几种设计模式? Java 中一般认为有 23 种设计模式 分为三大类: 1. 创建型模式 5 种 ① 工厂方法模式 ② 抽象工厂模式 ③ 单例模式 ④ 建造者模式 ⑤ 原型模式 2. 结构型模式 7 种 ① 适配器模式 ② 装饰器模式 ③ 代理模式 ④ 外观模式 …

SSL证书如何使用?SSL保障通信安全

由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装数字证书或服务器证书就可以激活功能了。SSL证书主要是服务于HTTPS,部署证书后,网站链接就由HTTP开头变为HTTPS。 SSL安全证书主要用于发送安全电子邮件、访…

动态规划之0-1背包问题

动态规划之0-1背包问题 文章目录 动态规划之0-1背包问题一、先给出代码二、讲解第一步:初始化第二步:动态规划,填表第三步:回溯,找到选择方案总结 三、进阶(用一维数组解决问题) 一、先给出代码…

社交工程和钓鱼攻击防范: 分析针对人类心理和社交工程的攻击技术,并介绍预防这些攻击的方法

第一章:引言 随着科技的不断进步,网络安全问题愈发凸显。在这个数字化时代,社交工程和钓鱼攻击成为黑客们获取敏感信息的常用手段。这些攻击不是基于技术漏洞,而是利用人类心理弱点来进行。本文将深入探讨社交工程和钓鱼攻击的原…

Flowable学习[一]

一、参考CSDN博主[水中加点糖]的博客[采用springbootflowable快速实现工作流],文章地址:https://puhaiyang.blog.csdn.net/article/details/79845248,下载其发布在github上的代码 二、本地解压代码,并加载到idea中 三、使用docke…

ubuntu18.04安装远程控制软件ToDest方法,针对官网指令报错情况

有时我们在家办公,需要控制实验室的笔记本,因此好用的远程控制软件会让我们的工作事半功倍! 常用的远程控制软件有ToDesk,向日葵,以及TeamViewer,但是为感觉ToDesk更流畅一些,所以这里介绍一下…

C++ 线程池

目录 一、线程池实现原理 二、定义线程池的结构 三、创建线程池实例 四、添加工作的线程的任务函数 五、管理者线程的任务函数 六、往线程池中添加任务 七、获取线程池工作的线程数量与活着的线程数量 八、线程池的销毁 一、线程池实现原理 线程池的组成主要分为3个部…

深入了解Git:介绍及常用命令指南

当今软件开发领域中,版本控制是一个至关重要的概念,而Git作为最流行的分布式版本控制系统,发挥着不可替代的作用。本文将介绍Git的基本概念以及常用命令,帮助你更好地理解和使用这一强大的工具。 Git简介 Git是一种分布式版本管…

从业务层的代码出发,去排查通用框架代码崩溃的问题

目录 1、问题说明 1.1、Release下崩溃,Debug下很难复现 1.2、用Windbg打开dump文件,发现崩溃在通用的框架代码中 2、进一步分析 2.1、使用IDA查看汇编代码尝试寻找崩溃的线索 2.2、在Windbg中查看相关变量的值 2.3、查看最近代码的修改记录&#…

代码随想录day11

20. 有效的括号 ● 力扣题目链接 ● 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串,判断字符串是否有效。 ● 有效字符串需满足: ● 左括号必须用相同类型的右括号闭合。 ● 左…

SAP ABAPG开发屏幕自动生成日期的搜索帮助

代码如下: REPORT z_jason_test_f4 . TABLES: s031. PARAMETER p_spmon TYPE spmon DEFAULT sy-datum0(6) OBLIGATORY. SELECT-OPTIONS s_spmon FOR s031-spmon DEFAULT sy-datum0(6) OBLIGATORY. AT SELECTION-SCREEN ON VALUE-REQUEST…

机器学习使用场景

在计算机系统中,“经验”通常以“数据”的形式存在。因此,机器学习的主要内容,是关于在计算机上从数据中产生Function的算法,这个Function的作用是将将输入映射成合理的输出。例如给Function输入猫的图片,Function能够…

Python面向对象植物大战僵尸

先来一波效果图 来看看如何设计游戏架构 import sysimport pygameclass BaseSprite(pygame.sprite.Sprite):def __init__(self, name):super().__init__()self.image pygame.image.load(name)self.rect self.image.get_rect()class AnimateSprite(BaseSprite):def __init__(…

C++信息学奥赛1131:基因相关性

这段代码的功能是比较两个字符串的相似度&#xff0c;并根据给定的阈值判断是否相似。 解析注释后的代码如下&#xff1a; #include <iostream> #include <string> using namespace std;int main() {double bf; // 定义双精度浮点数变量bf&#xff0c;用于存储阈…