新聞中心
不知道大家用過(guò)抽獎(jiǎng)助手小程序沒(méi)?(免費(fèi)給抽獎(jiǎng)助手做個(gè)小廣告),我在公眾號(hào)多次用它來(lái)發(fā)過(guò)很多獎(jiǎng)品,同時(shí),我每天也會(huì)去參與一些抽獎(jiǎng),目前的中獎(jiǎng)記錄為0(尷尬臉)

目前創(chuàng)新互聯(lián)建站已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、夏津網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
在助手中參與抽獎(jiǎng)你不需要支付一分錢(qián),但是需要花時(shí)間,想抽獎(jiǎng)就不得不每天打開(kāi)小程序逐個(gè)點(diǎn)擊參與才能參與,每天重復(fù)的操作覺(jué)得好繁瑣,于是我萌生出一個(gè)想法,用程序去自動(dòng)參與抽獎(jiǎng)。
說(shuō)干就干,熟悉爬蟲(chóng)基本原理的大概能猜出來(lái)怎么做。我們之前寫(xiě)過(guò)基于Python爬微信公眾號(hào)爬蟲(chóng)的系列教程,現(xiàn)在假設(shè)你已經(jīng)會(huì)用 Fiddler 去代理 HTTP 請(qǐng)求。怎么安裝 Fiddler 和配置手機(jī)端這里不再介紹,咱們知識(shí)星球有寫(xiě)過(guò)相應(yīng)的教程。
配置好 Fiddler 之后,手機(jī)打開(kāi)小程序 “抽獎(jiǎng)助手” 之后,有個(gè)公共抽獎(jiǎng)列表
通過(guò) Fiddler 抓包,我們看到抽獎(jiǎng)列表的請(qǐng)求地址是:/public_lottery?page=1&size=5, 請(qǐng)求方法是 GET,還有一個(gè) Header 字段 Authorization,返回的數(shù)據(jù)結(jié)構(gòu)可以清晰看到總共返回了5條數(shù)據(jù),代表5個(gè)獎(jiǎng)品,每個(gè)字段基本能猜出來(lái)什么意思。
我們?cè)賮?lái)手動(dòng)選擇一個(gè)活動(dòng)點(diǎn)擊參與抽獎(jiǎng),看背后它是怎么向服務(wù)器發(fā)送請(qǐng)求的,弄清楚了原理之后就可以用程序來(lái)自動(dòng)模擬請(qǐng)求。
參與抽獎(jiǎng)的請(qǐng)求有幾個(gè)注意的地方,請(qǐng)求使用的是 POST 方法,URL地址是:/lottery/67c3a5afe794dc7bdbed85a38a18bb44/join ,和抽獎(jiǎng)列表一樣,還有一個(gè)請(qǐng)求 Header 是 Authorization,它的值就是后面一串很長(zhǎng)的 Bearer 開(kāi)頭的字符串… 。
現(xiàn)在我們就可以用 Python 來(lái)構(gòu)建一個(gè)自動(dòng)參與抽獎(jiǎng)的腳本,每隔一段時(shí)間就去自動(dòng)刷,發(fā)現(xiàn)有新的獎(jiǎng)品,就自動(dòng)參與抽獎(jiǎng)。
源代碼
- # coding=utf-8
- import requests
- def main():
- url = "https://lucky.nocode.com/public_lottery?page=1&size=5"
- # 替換成你自己的Authorization
- headers = {
- "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV...."}
- res = requests.get(url, headers=headers)
- lotteries = res.json().get("data")
- join_url = "https://lucky.nocode.com/lottery/{id}/join"
- for lottery in lotteries:
- res = requests.post(join_url.format(id=lottery.get("id")), headers=headers)
- data = res.json()
- if res.status_code == 200 and 'errors' not in data:
- print("成功參與抽獎(jiǎng):《%s》" % lottery.get("prizes").get("data")[0].get("name"))
- if __name__ == '__main__':
- main()
運(yùn)行
- 成功參與抽獎(jiǎng):《阿瑪尼紅管唇釉》
- 成功參與抽獎(jiǎng):《Havaianas 人字拖》
- 成功參與抽獎(jiǎng):《《不要成為無(wú)聊的大人》》
- 成功參與抽獎(jiǎng):《Satan 鑰匙扣》
- 成功參與抽獎(jiǎng):《桌面理線(xiàn)器》
現(xiàn)在所有獎(jiǎng)品都變成已參與狀態(tài),坐等中獎(jiǎng)吧。你還可以對(duì)代碼進(jìn)行改進(jìn)。
有人可能會(huì)問(wèn),這算不算作弊呢?我覺(jué)得這就是程序員的優(yōu)勢(shì),我們只是用了不一樣的工具來(lái)完成相同的事情,以后編程還真的是每個(gè)人都應(yīng)該掌握的一項(xiàng)基本技能,沒(méi)事寫(xiě)個(gè)代碼解決繁瑣的、重復(fù)的工作。懶惰是推動(dòng)社會(huì)文明進(jìn)步的原動(dòng)力。
再來(lái)發(fā)一個(gè)抽獎(jiǎng)
分享題目:厲害了,10行代碼實(shí)現(xiàn)抽獎(jiǎng)助手自動(dòng)參與抽獎(jiǎng)!
鏈接地址:http://www.dlmjj.cn/article/dphdsch.html


咨詢(xún)
建站咨詢(xún)
