中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何實現秒殺商品的微信自動提醒功能

發布時間:2020-07-30 10:59:21 來源:億速云 閱讀:222 作者:小豬 欄目:開發技術

這篇文章主要講解了python如何實現秒殺商品的微信自動提醒功能,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

技術實現原理:獲取京東的具體的商品信息,然后再使用微信發送提醒

工具:需要兩個微信號,這兩個微信號互為好友

1.收集自己想要的商品url

我們就以京東來舉例,獲取京東的秒殺商品信息:

首先,我們在網頁上打開京東,搜索我們想要的商品,這邊我就以我最近買的東西為例子:

python如何實現秒殺商品的微信自動提醒功能

我們需要找到它的商品信息,需要打開瀏覽器的開發者模式,之后我們需要選擇自己的配送地址,這個時候里面就發送一些接口請求:

python如何實現秒殺商品的微信自動提醒功能

我們選擇一個有用的商品信息接口:

python如何實現秒殺商品的微信自動提醒功能

找到自己想要商品的信息接口,來判斷它是否有貨:

python如何實現秒殺商品的微信自動提醒功能

一般規則是:如果這個接口書籍里面有“無貨”的字符信息,那就是缺貨狀態,否則就是有貨狀態,可以發送商品鏈接,進行購買。

我們現在已經成功獲取到了商品的url信息,接下來就是設置微信了。

2.設置微信通知

微信通知我們需要兩個微信號,一個作為發送方,一個作為接受方,這個兩個賬號需要互為好友。

注意:作為發送方的微信可能會有注冊時間要求(微信好像設立了規則:如果晚于某一時間段注冊的賬號將不再具備網頁微信登陸功能)

這邊我們使用itchat模塊進行模擬微信登陸:

import itchat
itchat.auto_login(hotReload=True)

hotload參數設置為True可以記住第一次登陸的狀態,下一次就不需要掃碼登陸了。

執行以上代碼可以生成登陸二維碼,你只需要掃碼登陸就可以了。

接下來我們需要找到被通知的那個賬號:

# 找到需要發送的對象
users = itchat.search_friends(name='神一樣的男子')
print(users)

搜索好友信息可以使用好友的微信名字也可以使用備注名字,接下來我們獲取發送對象的信息:

[{'Uin': 0,

'UserName': '@131572fb0f21d053055ba1caebd1c3089178a1ccafbf320bb72599c4d04a7e20',

'NickName': '吾',

'HeadImgUrl': '/cgi-bin/mmwebwx-bin/webwxgeticon?seq=670180178&username=@131572fb0f21d053055ba1caebd1c3089178a1ccafbf320bb72599c4d04a7e20&skey=@crypt_32bfc8c4_05d6f5196800a0aba56d8b80af69f09e',

'ContactFlag': 1, 'MemberCount': 0, 'MemberList': [], 'RemarkName': '神一樣的男子', 'HideInputBarFlag': 0, 'Sex': 1, 'Signature': '消失在黑暗中', 'VerifyFlag': 0, 'OwnerUin': 0, 'PYInitial': 'W', 'PYQuanPin': 'wu', 'RemarkPYInitial': 'SYYDNZ', 'RemarkPYQuanPin': 'shenyiyangdenanzi', 'StarFriend': 0, 'AppAccountFlag': 0, 'Statues': 0, 'AttrStatus': 33657021, 'Province': '上海', 'City': '黃浦', 'Alias': '', 'SnsFlag': 1, 'UniFriend': 0, 'DisplayName': '', 'ChatRoomId': 0, 'KeyWord': '', 'EncryChatRoomId': '', 'IsOwner': 0}]

我們發送信息需要獲取UserName字段,也就是發送對象的具體ID

# 獲取發送對象的ID
userName = users[0]['UserName']

接下來我們就可以實現發送秒殺信息了。

3.實現搶貨通知

首先我們需要訪問京東的數據接口-----也就是我們第一步拿到的那個url,接下來我們去訪問它就可以拿到返回的接口數據:

import requests
url = "https://c0.3.cn/stock?skuId=60456599372&area=2_2825_51932_0&venderId=10181278&buyNum=1&choseSuitSkuIds=&cat=9987,830,863&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=479124268&ch=1&callback=jQuery3588468"
headers = {
   "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/531.36",
   "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
   "Connection": "keep-alive"
  }
respone = requests.get(url, headers=headers)
print(respone.text)

拿到數據之后我們就可以去判斷這個數據里面有沒有“無貨”的字符,如果沒有我們就使用itchat發送搶購信息:

if (response.text.find('無貨') > 0):
 print('暫時無貨: ' + skuidUrl)
else:
 print('你定時的搶購商品有貨啦,點擊立即購買 :' + skuidUrl)
 itchat.send("你定時的搶購商品有貨啦,點擊立即購買:\n{}".format(skuidUrl),
    toUserName=userName)
 flag += 1

這個搶購信息我們需要在原來的url上截取skuid,然后進行拼接:

import re
pattern = re.compile("skuId=(\d+)&")
url = "https://c0.3.cn/stock?skuId=60456599372&area=2_2825_51932_0&venderId=10181278&buyNum=1&choseSuitSkuIds=&cat=9987,830,863&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=479124268&ch=1&callback=jQuery3588468"
result = pattern.findall(url)
skuidUrl = 'https://item.jd.com/' + result[0] + '.html'

這樣我們的定時搶購就完成啦!

最后,我們可以在訪問的外面設置一個while死循環,如果一直沒有貨就一直發送訪問請求,如果OK,就跳出break!

附搶購圖:

python如何實現秒殺商品的微信自動提醒功能

大家只需要點擊搶購鏈接就能直接進行購買啦!

看完上述內容,是不是對python如何實現秒殺商品的微信自動提醒功能有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

加查县| 延安市| 黑河市| 饶阳县| 瑞昌市| 益阳市| 漳平市| 津南区| 永靖县| 兴仁县| 闵行区| 吴堡县| 登封市| 南木林县| 昌邑市| 郧西县| 牙克石市| 会同县| 高阳县| 怀集县| 安塞县| 黔东| 稷山县| 诸暨市| 集贤县| 中牟县| 民勤县| 定州市| 环江| 新宾| 错那县| 秭归县| 东海县| 海伦市| 呼伦贝尔市| 婺源县| 沈阳市| 县级市| 英德市| 翁牛特旗| 油尖旺区|