不知道大家有没有用过抽奖助手小程序呢?(抽奖小助手免费打个广告)。我在公众号用过很多次,发了很多奖品。同时,我每天也参加一些抽奖活动。目前小助手里的中奖记录是0(尴尬脸)参加抽奖不需要花一分钱,但是需要时间。想要抽奖,每天都要打开小程序,点击参与一一。每天重复的操作感觉很繁琐,于是萌生了用程序自动参与抽奖的想法。照着做吧,熟悉爬虫基本原理的人大概能猜到怎么做。我们之前写过基于Python爬取微信公众号爬虫的系列教程。现在假设您已经可以使用Fiddler来代理HTTP请求。如何安装Fiddler和配置移动端,这里不再介绍。我们的知识星球写了相应的教程。配置好Fiddler,打开手机上的“彩票助手”小程序后,有一个Fiddler抓取的公众彩票列表。我们看到彩票列表的请求地址是:/public_lottery?page=1&size=5,请求方式是GET,并且有一个header字段Authorization,返回的数据结构可以清楚的看到一共5张返回数据,代表5个奖品,每个字段基本都能猜到是什么意思。我们手动选择一个事件,点击参与抽奖,看看它是如何向背后的服务器发送请求的。弄清楚原理后,我们就可以用程序自动模拟请求了。关于参加抽奖的要求,有几点需要注意。请求使用POST方式,URL地址为:/lottery/67c3a5afe794dc7bdbed85a38a18bb44/join,与开奖名单相同。还有一个请求头是Authorization,它的值是下面的一串AlongstringbeginningwithBearer...。现在我们可以用Python搭建一个自动参与抽奖的脚本,每隔一段时间自动刷新一次,如果有新的奖品,就自动参与抽奖。源码#coding=utf-8importrequestsdefmain():url="https://lucky.nocode.com/public_lottery?page=1&size=5"#替换成自己的Authorizationheaders={"Authorization":"BearereyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV...."}res=requests.get(url,headers=headers)lotteries=res.json().get("data")join_url="https://lucky.nocode.com/lottery/{id}/join"forlotteryinlotteries:res=requests.post(join_url.format(id=lottery.get("id")),headers=headers)data=res.json()ifres.status_code==200and'errors'notindata:print("Success参与抽奖:《%s》"%lottery.get("prizes").get("data")[0].get("name"))if__name__=='__main__':main()成功参与抽奖抽奖:《阿玛尼红管唇釉》参加抽奖成功:《Havaianas人字拖》参加抽奖成功:《不要成为无聊的大人》抽奖成功参加:《Satan钥匙扣》参加抽奖成功:《桌面理线器》现在所有奖品已成为参赛状态,只等中奖。您还可以对代码进行改进。可能有人会问,这算作弊吗?我觉得这就是程序员的优势。我们只是使用不同的工具来完成同一件事。以后编程真的是每个人都应该掌握的基本技能。编写代码来解决繁琐重复的任务是可以的。工作。懒惰是社会文明进步的原动力。另一个平局
