import json
import random
import time
from PIL import Image
from bs4 import BeautifulSoup
import re
import requests
first_url = 'https://login.wx.qq.com/jslogin?appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F%2Fwx.qq.com%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=zh_CN&_=1520435074622'
captcha_url = 'https://login.weixin.qq.com/qrcode/{uuid}'
login_url = 'https://login.wx.qq.com/cgi-bin/mmwebwx-bin/login?loginicon=true&uuid={uuid}&tip=0&r=-16664904&_={timestamp}'
login_url2 = 'https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxinit?r=-16669464'
list_url = 'https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxgetcontact?r={timestamp}&seq=0&skey={skey}'
message_url = 'https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxsendmsg?lang=zh_CN&pass_ticket={passticket}'
class WX(object):
def __init__(self):
self.s = requests.session()
self.s.verify = False
self.uuid = ''
self.skey = ''
self.wxsid = ''
self.wxuin = ''
self.pass_ticket = ''
def first_req(self):
r = self.s.get(first_url)
uuid = re.findall('uuid = "(.*?)"', r.text)[0]
print(uuid)
self.uuid = uuid
def get_captcha(self):
uuid = self.uuid
r = self.s.get(captcha_url.format(uuid=uuid))
with open('cap.jpg', 'wb') as f:
f.write(r.content)
img = Image.open('cap.jpg')
assert isinstance(img, Image.Image)
img.show()
input()
print('掃碼完成')
def login(self):
uuid = self.uuid
r = self.s.get(login_url.format(uuid=uuid, timestamp=int(time.time())))
redirect_url = re.findall('window.redirect_uri="(.*?)"',r.text)[0]
print(redirect_url)
return redirect_url
def get_keys_and_login(self):
r_url = self.login()
r = self.s.get(r_url, allow_redirects=False)
print(r.text)
soup = BeautifulSoup(r.text, 'lxml')
skey = soup.find_all('skey')[0].text
wxsid = soup.find_all('wxsid')[0].text
wxuin = soup.find_all('wxuin')[0].text
pass_ticket = soup.find_all('pass_ticket')[0].text
isgrayscale = soup.find_all('isgrayscale')[0].text
self.skey = skey
self.wxsid = wxsid
self.wxuin = wxuin
self.pass_ticket = pass_ticket
data = {
"BaseRequest": {
"Uin": wxuin,
"Sid": wxsid,
"Skey": "",
"DeviceID": "e560479825088368"
}
}
r = self.s.post(login_url2, data=json.dumps(data))
r.encoding = 'utf-8'
# print(r.text)
self.FromUserName = r.json()['User']['UserName']
def get_my_list(self):
n2u = {}
r = self.s.get(list_url.format(timestamp=time.time(), skey=self.skey))
r.encoding = 'utf-8'
print(r.json())
for item in r.json()['MemberList']:
n2u[item['NickName']] = item['UserName']
return n2u
@staticmethod
def get_local():
return str(time.time()) + str(random.random())[2:9]
def send_message(self):
n2u = self.get_my_list()
content = input('message detail:')
to_user = input('who you want to send?')
ToUserName = n2u[to_user]
data = {
"BaseRequest": {
"Uin": self.wxuin,
"Sid": self.wxsid,
"Skey": self.skey,
"DeviceID": "e560479825088368"
},
"Msg": {
"Type": 1,
"Content": content,
"FromUserName": self.FromUserName,
"ToUserName": ToUserName,
"LocalID": self.get_local(),
"ClientMsgId": self.get_local()
},
"Scene": 0
}
self.s.post(message_url.format(passticket=self.pass_ticket), data=json.dumps(data))
print('發(fā)送成功')
if __name__ == '__main__':
w = WX()
w.first_req()
w.get_captcha()
w.get_keys_and_login()
w.send_message()
python模擬登錄微信網(wǎng)頁版發(fā)送信息
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門鸯旁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人量蕊,你說我怎么就攤上這事铺罢。” “怎么了残炮?”我有些...
- 文/不壞的土叔 我叫張陵韭赘,是天一觀的道長。 經(jīng)常有香客問我势就,道長泉瞻,這世上最難降的妖魔是什么脉漏? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮袖牙,結(jié)果婚禮上侧巨,老公的妹妹穿的比我還像新娘。我一直安慰自己鞭达,他們只是感情好司忱,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著畴蹭,像睡著了一般坦仍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上撮胧,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼傀履!你這毒婦竟也來了虱朵?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬榮一對情侶失蹤钓账,失蹤者是張志新(化名)和其女友劉穎碴犬,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梆暮,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡服协,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了啦粹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片偿荷。...
- 正文 年R本政府宣布寺庄,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏铣揉。R本人自食惡果不足惜饶深,卻給世界環(huán)境...
- 文/蒙蒙 一餐曹、第九天 我趴在偏房一處隱蔽的房頂上張望逛拱。 院中可真熱鬧,春花似錦台猴、人聲如沸朽合。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽曹步。三九已至,卻和暖如春休讳,著一層夾襖步出監(jiān)牢的瞬間讲婚,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓雏婶,卻偏偏與公主長得像物赶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子留晚,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 問題 我司的一個app因?yàn)檫@個原因被蘋果拒了酵紫,要不然也不搞這個鬼東西!4砦奖地! 問題如下 Guideline 4.2....
- 網(wǎng)頁微信登錄原理 登陸主頁后,會生成一個UUID赋焕,這是個唯一性標(biāo)識参歹。 根據(jù)該UUID去請求相應(yīng)的二維碼信息。 通過...
- 議事廳內(nèi)氣氛沉重宏邮,左右兩排分別坐著軍隊將領(lǐng)泽示,眾人面上均是眉頭緊鎖,一副憂心忡忡的模樣蜜氨。 見趙謹(jǐn)俞領(lǐng)我進(jìn)來械筛,室內(nèi)一片...