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

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

时间:2023-08-21 12:36:06浏览次数:42  
标签:note 21 web python metrics viewer user type id

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

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

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 execjs

def brush(note_id,note_type,user_id):
    a1,webId,viewer_id,web_session=register_session()          #动态注册一个访问者身份及会话
    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"
        }
    }
    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"       #要刷的笔记ID
    note_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-1
        print(i)    

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

1、通过metrics_report这个接口发POST请求,每请求一次可使访问量加1,APP端同步更新。

实测发现,如果使用固定的viewer.user_id和web_session多次POST,大概10次左右,小眼睛访问量不会增加了。

原因是同一个访问者同一个会话刷访问量是有限的。因此必须动态生成viewer.user_id访问者和web_session会话。

构造不同的访问者和会话才能使小眼睛访问量不断增加!技术~~支持:复制: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}

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

(图2)metrics_report接口调用结果

标签:note,21,web,python,metrics,viewer,user,type,id
From: https://blog.51cto.com/u_16113078/7173621

相关文章

  • 变动的Python爬虫实现
    在电商时代,了解商品价格的变动对于购物者和卖家来说都非常重要。本文将分享一种基于Python的实时监控电商平台商品价格变动的爬虫实现方法。通过本文的解决方案和代码示例,您将能够轻松监控商品价格,并及时做出决策。一、了解需求和目标在实时监控电商平台商品价格变动之前,我们需要明......
  • Python自动化测试代理程序可用性
    Python自动化测试代理程序可用性在网络爬虫和数据采集过程中,代理服务器扮演着重要的角色。然而,代理服务器的可用性经常会受到影响,给爬虫工作带来一定的挑战。本文将介绍如何使用Python自动化测试代理程序的可用性,为您提供具备实际操作价值的解决方案。让我们一起来探索,提高您的爬虫......
  • [语音识别] 基于Python构建简易的音频录制与语音识别应用
    语音识别技术的快速发展为实现更多智能化应用提供了无限可能。本文旨在介绍一个基于Python实现的简易音频录制与语音识别应用。文章简要介绍相关技术的应用,重点放在音频录制方面,而语音识别则关注于调用相关的语音识别库。本文将首先概述一些音频基础概念,然后详细讲解如何利用PyAud......
  • python增加一个循环运行的装饰器
    在平时编程时,经常会遇到循环运行一个函数的情况,我们可以编写一个装饰器来简化这个过程,实现代码如下:defLoopRun(duration:float=60,interval:float=1,remainder:float=3)->callable:'''支持长期运行的装饰器函数duration:持续时长,单位秒interval:......
  • Python matplotlib.axes对象常用属性(绘图方式、坐标轴、刻度等)
    目录一、绘图方式1.1基本绘图方式1.2跨度、频谱、填充、2D数组的绘图方式Axes类可以设置图片(或子图)中相关属性:绘图数据、坐标轴刻度/标签、标题、图例等。它是Python操作绘图的主要接口。Matplotlib定义了一个axes类(轴域类),在一个给定的画布(figure)中可以包含多个axes对象,但是同......
  • 8-21|Python使用管道如何执行此删除目录
    要在Python中使用管道执行此命令,你可以利用`subprocess`模块。下面是一个示例,展示如何在Python中执行这个命令:```pythonimportsubprocessdirectory="path_to_directory"#构建命令cmd=f'cd{directory}&&del/f/s/q*.*&&for/d%xin(*)dormdir/s/q"%x&quo......
  • 解决python错误 UnicodeDecodeError: 'gb2312' codec can't decode byte 0x8b in posi
    报错的代码:url='http://kaijiang.500.com/shtml/ssq/19001.shtml'page=urllib.request.urlopen(url)content=page.read().decode('gb2312')报这个错的原因是获取到的网页内容是经过压缩了的,打开url可以看到请求headAccept-Encoding:gzip,deflate一种方式是请求时把......
  • python+allure生成测试报告
    #一、allure安装##下载地址:CentralRepository:io/qameta/allure/allure-commandline(apache.org)##下载需要安装的版本,这里我选择的是2.9的版本##图片##下载解压完成后,将bin文件夹所在的目录放入环境变量中,同时需要安装JDK。##完成后,命令行pipinstallallure-pytest安装......
  • Python程序员Visual Studio Code指南3 编辑代码
    3编辑代码VisualStudioCode提供了许多适用于所有编程语言的标准编辑功能。快速修复代码补全定义声明格式化语法重构代码片段这些内置的编辑功能减少了编辑代码所需的手动任务和键入次数,从而节省了时间。Python扩展扩展了代码编辑功能。有了Python扩展,导入库只需极......
  • [SWPUCTF 2021 新生赛]hardrce
    [SWPUCTF2021新生赛]hardrce题目来源:nssctf题目类型:web涉及考点:rec1.上来直接代码审计<?phpheader("Content-Type:text/html;charset=utf-8");error_reporting(0);highlight_file(__FILE__);if(isset($_GET['wllm'])){$wllm=$_GET['wllm'];......