欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)

程序员文章站 2022-04-03 20:38:40
获取评论贴的请求头与表单数据这里,我们随便选取一个网站,获取该贴评论后的请求头,表单数据以及评论贴链接。(因为涉及敏感信息,自己看图片是哪个网址)比如这个网站,经常有不定时的盖楼活动推出,我们随便评论...

获取评论贴的请求头与表单数据

这里,我们随便选取一个网站,获取该贴评论后的请求头,表单数据以及评论贴链接。(因为涉及敏感信息,自己看图片是哪个网址)

还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)

比如这个网站,经常有不定时的盖楼活动推出,我们随便评论一条,通过chrome f12功能,获取其请求头与表单数据。

还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)

可以看到其右侧的表单数据(评论参数)有:

message:盖楼的内容,一般来说这个内容可以提供一个文档随机选择评论,可以规避自动盖楼导致评论一模一样。

posttime:标识数据,一般具有唯一性,确定是否是人为操作。(各个网站标识数据各不相同,但原理基本一样)

formhash:标识数据,一般具有唯一性,确定是否是人为操作。(各个网站标识数据各不相同,但原理基本一样)

usesig:默认数据,一直为1

subject:空,博主测试多个评论,这个表单值一直都是空,可以不设置,也可以设置为空。

所以,在刷评论盖楼的时候,我们需要通过一个字典将form data表单数据存储到里面后,进行post请求。代码如下:

data = {
    "formhash": "bfb0d6b5e6873b69ccfc7e5b7c69cc8bb0de2794809d7d5fdf2a55a46983fb17",
    "message": "我觉得这款电热水壶的颜值超高,肯定是我的开水好助手",#修改评论内容只需要改这段字符串即可
    "usesig": "1",
    "posttime": "1622089322",
    "subject":"",
}

因为上面只是表单数据,但每个网站都是需要先登录后在评论的,所以我们需要获取评论时的cookie数据,来证明是哪个账号在评论盖楼。评论请求头截图如下:

还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)

也就是设置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请求链接如下图:

还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)

自动盖楼评论

有了这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)

运行之后,效果如下:

还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)

这里每隔0.5秒评论一次。不过,该盖楼刷评论脚本有一个非常明显的缺陷,就是每次登录程序都需要首先评论后获取这些数据在刷,这就不是全自动的了,虽然比自动的好点。(而且cookie登录状态并不是永久的,各个网站cookie时效各不相同)

因为文章的内容已经达到3000多字,恐怕再长阅读体验不是很好。所以全自动的盖楼刷评论抽奖内容将放到下一篇博文进行讲解。

但是这是基础的原理,后面全自动的盖楼基于这篇内容。

到此这篇关于还在手动盖楼抽奖?教你用python实现自动评论盖楼抽奖的文章就介绍到这了,更多相关python实现自动盖楼内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!