还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
作者:一天一篇Python库 发布时间:2023-12-26 21:32:41
获取评论贴的请求头与表单数据
下一篇在这里
这里,我们随便选取一个网站,获取该贴评论后的请求头,表单数据以及评论贴链接。(因为涉及敏感信息,自己看图片是哪个网址)
比如这个网站,经常有不定时的盖楼活动推出,我们随便评论一条,通过chrome F12功能,获取其请求头与表单数据。
可以看到其右侧的表单数据(评论参数)有:
message:盖楼的内容,一般来说这个内容可以提供一个文档随机选择评论,可以规避自动盖楼导致评论一模一样。
posttime:标识数据,一般具有唯一性,确定是否是人为操作。(各个网站标识数据各不相同,但原理基本一样)
formhash:标识数据,一般具有唯一性,确定是否是人为操作。(各个网站标识数据各不相同,但原理基本一样)
usesig:默认数据,一直为1
subject:空,博主测试多个评论,这个表单值一直都是空,可以不设置,也可以设置为空。
所以,在刷评论盖楼的时候,我们需要通过一个字典将form Data表单数据存储到里面后,进行post请求。代码如下:
data = {
"formhash": "bfb0d6b5e6873b69ccfc7e5b7c69cc8bb0de2794809d7d5fdf2a55a46983fb17",
"message": "我觉得这款电热水壶的颜值超高,肯定是我的开水好助手",#修改评论内容只需要改这段字符串即可
"usesig": "1",
"posttime": "1622089322",
"subject":"",
}
因为上面只是表单数据,但每个网站都是需要先登录后在评论的,所以我们需要获取评论时的cookie数据,来证明是哪个账号在评论盖楼。评论请求头截图如下:
也就是设置post评论请求的请求头headers,具体代码如下:
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36",
"Cookie": "上面的cookie字符串",
}
一般来说,我们至少需要设置User-Agent以及Cookie。其中User-Agent会伪装你是从浏览器访问的,而Cookie是证明你是哪个账号,也就是登录用户身份的标识。post请求链接如下图:
自动盖楼评论
有了这2个数据,在加上请求的链接,即可完成Python脚本刷评论盖楼的目的,完整的的代码如下所示:
import time
import requests
url = "https://club.hihonor.com/cn/forum.php?mod=post&action=reply&fid=154&tid=21089001&extra=page%3D1&replysubmit=yes&infloat=yes&handlekey=fastpost&inajax=1"
data = {
"formhash": "bfb0d6b5e6873b69ccfc7e5b7c69cc8bb0de2794809d7d5fdf2a55a46983fb17",
"message": "我觉得这款电热水壶的颜值超高,肯定是我的开水好助手",
"usesig": "1",
"posttime": "1622089322",
"subject":"",
}
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36",
"Cookie": "你的Cookie字符串数据",
}
while True:
time.sleep(0.5)
res = requests.post(url=url, data=data, headers=headers)
print(res.text)
运行之后,效果如下:
这里每隔0.5秒评论一次。不过,该盖楼刷评论脚本有一个非常明显的缺陷,就是每次登录程序都需要首先评论后获取这些数据在刷,这就不是全自动的了,虽然比自动的好点。(而且Cookie登录状态并不是永久的,各个网站Cookie时效各不相同)
因为文章的内容已经达到3000多字,恐怕再长阅读体验不是很好。所以全自动的盖楼刷评论抽奖内容将放到下一篇博文进行讲解。
但是这是基础的原理,后面全自动的盖楼基于这篇内容。
来源:https://blog.csdn.net/liyuanjinglyj/article/details/117325867
猜你喜欢
- Go 程序的性能优化及 pprof 的使用程序的性能优化无非就是对程序占用资源的优化。对于服务器而言,最重要的两项资源莫过于 CPU 和内存
- 锁是指在某组资源中,两个或两个以上的线程在执行过程中,在争夺某一资源时而造成互相等待的现象,若无外力的作用下,它们都将无法推进下去,死时就可
- 本文介绍,在 VSCode 使用 IPython Kernel的设置方法,详细介绍如下所示:要达到的效果:只需按下 Ctrl+;,选中的几行
- 本文实例讲述了Python多线程原理与用法。分享给大家供大家参考,具体如下:先来看个栗子:下面来看一下I/O秘籍型的线程,举个栗子——爬虫,
- javascript编写的窗口代码,可以关闭显示窗口,可以最小化或还原窗口大小,还可以鼠标移动窗口,不错的一个功能。截图如下:<htm
- 一个Javascript 的类库,用于table内容排序。使用很方便,不用每次都去调用数据库了。特别适合多表查询的排序。加上<tbod
- 本文实例讲述了vue+php实现的微博留言功能。分享给大家供大家参考,具体如下:html部分:<!doctype html>&l
- 如下所示:>>> import pandas as pd>>> import numpy as np#
- 尽管XML还处在开发阶段,其标准正在由W3C组织制定,但是已经有许多公司表示全力支持XML,并开发了不少XML工具。Adobe公司的Fram
- 与Channel区别Channel能够很好的帮助我们控制并发,但是在开发习惯上与显示的表达不太相同,所以在Go语言中可以利用sync包中的W
- 保持良好的代码风格是每个Coder必学的课程,同样在HTML设计的时候也要特别注意代码的规范性,虽然说不规范的代码不会直接造成严重的后果,但
- 1.线性与非线性回归线性回归 Linear Regression:两个变量之间的关系是一次函数关系的—&mdas
- 对于值传递和引用传递,书本上的解释比较繁琐,而php面试中总会出现,下面我会通过一个生活的例子带大家理解它们之间区别。第一步假设我们去酒店订
- 不加(0)的用法:set rs=conn.execute(sql)'将这个结果赋给rs这时要读取这个记录集第一个字段的数据就用rs(
- 代码如下:Function htmll(mulu,htmlmulu,FileName,filefrom,htmla,htmlb,h
- 然后给脚本文件运行权限,方法(1)chmod +x ./*.py方法(2)chmod 755 ./*.py (777也无所谓啦)这个命令不去
- 本文实例讲述了Python计算程序运行时间的方法。分享给大家供大家参考。具体实现方法如下:import timedef start_slee
- 前言本文用Python实例阐述了一些关于进程、线程和协程的概念,由于水平有限,难免出现错漏,敬请批评改正。前提条件熟悉Python基本语法熟
- 当你准备全面进军web标准时,有时候你是不是被表格的弄得焦头烂额呢?比如,原来使用“非法”的nobr现在要用什么来代替呢?今天,就让我来一个
- 如下所示:#! usr/bin/python#coding=utf-8 import numpy as npimport matplotli