鏈接:/question/51160419/answer/124460961
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。
普通的網頁點擊:
1. 建議通過瀏覽器或者Wireshark分析消息的交互。
2. 之後通過requests模擬。
由於沒有具體的網址,我沒有辦法給出具體的代碼。
給公眾號發送特定的問題:
1. 建議使用Python的微信API(pip install itchat)
2. 由於沒有提供Python版本,我這裏給出兼容的解決方案
#coding=utf8
import threading
import itchat
SIGN_IN_MP_DICT = {
u'學校微信公眾號': u'學校簽到口令',
u'公司微信公眾號': u'公司簽到口令', }
def get_day(timeGap):
return int(time.strftime('%y%m%d', time.localtime(time.time() + timeGap)))
NEXT_SIGN_DATE = get_day(60*60*24)
def sign_in_thread():
''' 簽到線程
如果尚未到需要簽到的日期,則繼續循環
如果到了需要簽到的日期,則完成兩個公眾號的簽到,並更新日期
'''
while 1:
if get_day < NEXT_SIGN_DATE:
time.sleep(30)
else:
for k, v in SIGN_IN_MP_DICT.items():
itchat.send(msg=v,
toUserName=itchat.search_mps(name=k)[0]['UserName'])
NEXT_SIGN_DATE = get_day(60*60*24)
itchat.auto_login(True)
# 測試是否存在特定公眾號
for mpName in SIGN_IN_MP_DICT.keys():
mpList = itchat.search_mps(name=mpName)
if len(mpList) != 1:
print(u'沒有檢測到公眾號“%s”,請檢查名稱')
break
else:
signInThread = threading.Thread(target=sign_in_thread)
signInThread.setDaemon(True)
signInThread.start()
itchat.run()