Python爬虫:盖楼抽奖还手动?自动的她不香吗?
Posted 一天一篇Python库
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫:盖楼抽奖还手动?自动的她不香吗?相关的知识,希望对你有一定的参考价值。
前言
目前对于Python来说,使用最多的功能肯定是Python爬虫。比如抢购茅台以及刷评论,盖楼等抽奖活动贴,都可以应用到爬虫的相关知识。
而学习Python爬虫,不仅可以增加自己的知识储备,丰富自己的知识库,而且还能帮助自己增加额外的收入。
所以,今天博主将通过某个盖楼活动贴,来实现自动评论盖楼抽奖功能。
获取评论贴的请求头与表单数据
这里,我们随便选取一个网站,获取该贴评论后的请求头,表单数据以及评论贴链接。(因为涉及敏感信息,自己看图片是哪个网址)
比如这个网站,经常有不定时的盖楼活动推出,我们随便评论一条,通过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多字,恐怕再长阅读体验不是很好。所以全自动的盖楼刷评论抽奖内容将放到下一篇博文进行讲解。
但是这是基础的原理,后面全自动的盖楼基于这篇内容。
以上是关于Python爬虫:盖楼抽奖还手动?自动的她不香吗?的主要内容,如果未能解决你的问题,请参考以下文章
开挂!!比水军还恶心的刷帖,用Python实现自动评论盖楼抽大奖