當前位置:首頁 » 編程語言 » python模擬微信登錄

python模擬微信登錄

發布時間: 2023-06-10 14:57:57

⑴ 用python怎麼設計一個微信的介面

最近一段時間想看看能不能用萬能的python來對微信進行一些操作(比如自動搶紅包之類的...hahahaha),所以就在此記錄一下啦~~

1、安裝

sudo pip install itchat

2、登錄

itchat.auto_login()

註:itchat.auto_login()這種方法將會通過微信掃描二維碼登錄,但是這種登錄的方式確實短時間的登錄,並不會保留登錄的狀態,也就是下次登錄時還是需要掃描二維碼,如果加上hotReload==True,那麼就會保留登錄的狀態,至少在後面的幾次登錄過程中不會再次掃描二維碼,該參數生成一個靜態文件itchat.pkl用於存儲登錄狀態

itchat.auto_login(hotReload=True)

3、退出登錄

主要使用的是回調函數的方法,登錄完成後的方法需要賦值在 loginCallback中退出後的方法,需要賦值在 exitCallback中.若不設置 loginCallback的值, 將會自動刪除二維碼圖片並清空命令行顯示.

import itchat,time

def lcb():
print("登錄完成!")
def ecb():
print("退出成功!")

itchat.auto_login(loginCallback=lcb,exitCallback=ecb) #源碼中規定需要用回調函數。
time.sleep(10)
itchat.logout() #強制退出登錄

4、發送消息

send()

itchat.send(msg="WANGPC的微信消息!",toUserName="filehelper") #返回值為True或Flase

或者:

send_msg

send_msg(msg='Text Message', toUserName=None),其中的的msg是要發送的文本,toUserName是發送對象, 如果留空, 將發送給自己,返回值為True或者False

實例代碼

send_file

send_file(fileDir, toUserName=None) fileDir是文件路徑, 當文件不存在時, 將列印無此文件的提醒,返回值為True或者False

實例代碼

send_image

send_image(fileDir, toUserName=None) 參數同上

實例代碼

send_video

send_video(fileDir, toUserName=None) 參數同上

實例代碼

⑵ python怎麼轉換成微信程序

安裝模塊

1.生成微信對象

bot = Bot() #初始化一個對象,就相當於拿到了這個人的微信,後續的一些操作都要用它來完成

2.分別找到微信對象的好友,聊天對象,朋友,群組,公眾號

friends = bot.friends() # 獲取朋友

chats = bot.chats() # 獲取聊天對象

groups = bot.groups() #獲取群聊

maps = bot.maps() #獲取公眾號

拿到的都是列表 如果要取到對象加上角標[0] 但是這樣很麻煩 推薦方法,這樣寫

ensure_one(bot.groups().search('東寶中學優秀校友群'))

3. 查找某個好友

friend = bot.friends().search('袁勇')[0]

4.向好友發送消息

5.統計微信好友的信息,比如男女比例,地域分配,等等

bot.friends().stats_text()

6.監聽群裡面某個人的消息

7.接入圖靈機器人 讓機器人來回復好友信息

8.設置最大保存信息條數,並且可以搜索

9.用微信監控你的程序

1.獲得專用logger

2.指定一個群為消息接受者

3.將異常消息發送到指定對象那裡

⑶ 怎麼python 模擬網站登錄、注冊

將注冊名和密碼存到字典中,下次登陸時就可以判斷是否對應

⑷ Python Request庫模擬登錄

1.讀取本地用戶文件,或者賬號名和密碼昌耐正耐悔
2.使用md5對用戶密碼進行加密
3.獲取session的臨時隨機串及sessionid
4.對隨機串及用戶密碼進行二次md5加密生成新的請求秘鑰串
5.傳遞用戶名、新的秘鑰串及sessionid模擬用戶登錄畝基

⑸ python爬蟲模擬登錄是什麼意思

有些網站需要登錄後才能爬取所需要的信息,此時可以設計爬蟲進行模擬登錄,原理是利用瀏覽器cookie。

一、瀏覽器訪問伺服器的過程:
(1)瀏覽器(客戶端)向Web伺服器發出一個HTTP請求(Http request);
(2)Web伺服器收到請求,發回響應信息(Http Response);
(3)瀏覽器解析內容呈現給用戶。

二、利用Fiddler查看瀏覽器行為信息:

Http請求消息:

(1)起始行:包括請求方法、請求的資源、HTTP協議的版本號

這里GET請求沒有消息主體,因此消息頭後的空白行中沒有其他數據。

(2)消息頭:包含各種屬性

(3)消息頭結束後的空白行

(4)可選的消息體:包含數據

Http響應消息:

(1)起始行:包括HTTP協議版本,http狀態碼和狀態

(2)消息頭:包含各種屬性

(3)消息體:包含數據


可以發現,信息里不僅有帳號(email)和密碼(password),其實還有_xsrf(具體作用往後看)和remember_me(登錄界面的「記住我」)兩個值。

那麼,在python爬蟲中將這些信息同樣發送,就可以模擬登錄。

在發送的信息里出現了一個項:_xsrf,值為

這個項其實是在訪問知乎登錄網頁https://www.hu.com/#signin時,網頁發送過來的信息,在瀏覽器源碼中可見:

所以需要先從登錄網址https://www.hu.com/#signin獲取這個_xsrf的值,

並連同帳號、密碼等信息再POST到真正接收請求的http://www.hu.com/login/email網址。

(2)獲取_xsrf的值:
爬取登錄網址https://www.hu.com/#signin,從內容中獲取_xsrf的值。
正則表達式。

(3)發送請求:
xsrf = 獲取的_xsrf的值
data = {"email":"xxx","password":"xxx","_xsrf":xsrf}
login = s.post(loginURL, data = data, headers = headers)
loginURL:是真正POST到的網址,不一定等同於登錄頁面的網址;

(4)爬取登錄後的網頁:
response = s.get(getURL, cookies = login.cookies, headers = headers)
getURL:要爬取的登陸後的網頁;
login.cookies:登陸時獲取的cookie信息,存儲在login中。

(5)輸出內容:
print response.content

五、具體代碼:

[python]view plain

  • #-*-coding:utf-8-*-

  • #author:Simon

  • #updatetime:2016年3月17日17:35:35

  • #功能:爬蟲之模擬登錄,urllib和requests都用了...

  • importurllib

  • importurllib2

  • importrequests

  • importre

  • headers={'User-Agent':'Mozilla/5.0(WindowsNT6.2)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.12Safari/535.11'}

  • defget_xsrf():

  • firstURL="http://www.hu.com/#signin"

  • request=urllib2.Request(firstURL,headers=headers)

  • response=urllib2.urlopen(request)

  • content=response.read()

  • pattern=re.compile(r'name="_xsrf"value="(.*?)"/>',re.S)

  • _xsrf=re.findall(pattern,content)

  • return_xsrf[0]

  • deflogin(par1):

  • s=requests.session()

  • afterURL="https://www.hu.com/explore"#想要爬取的登錄後的頁面

  • loginURL="http://www.hu.com/login/email"#POST發送到的網址

  • login=s.post(loginURL,data=par1,headers=headers)#發送登錄信息,返回響應信息(包含cookie)

  • response=s.get(afterURL,cookies=login.cookies,headers=headers)#獲得登陸後的響應信息,使用之前的cookie

  • returnresponse.content

  • xsrf=get_xsrf()

  • print"_xsrf的值是:"+xsrf

  • data={"email":"xxx","password":"xxx","_xsrf":xsrf}

  • printlogin(data)

  • 六、補充:

    用知乎網做完試驗,發現這里好像並不需要發送_xsrf這個值。

    不過有的網站在登陸時確實需要發送類似這樣的一個值,可以用上述方法。

⑹ 使用pythonrest_framework製作的微信登錄為什麼只能一個號可以登錄

如果是兩個微信號,用的是一個手機號,就在的話,那你登陸的時候可能他只會登陸一個。需要另一個需要綁定新的手機號碼,然後用新的去登陸你應該就行了。
微信是不能兩個手機同時登錄一個賬號的。一部手機登錄微信號,如果要用另一部登錄,那麼只能是退出第一部手機登錄的微信,這也是為了用戶的信息安全。不過,一部手機登錄微信,還可以在電腦端登錄。
一部手機是可以登錄兩個微信號的,但是只能是在微信多開的情況下,這就需要手機支持微信多開功能了,否則只能是相互切換微信號,而不能實時更新微信信息,但是微信多開登錄兩個微信號,則互不影響。

熱點內容
紅米手機錄音文件夾 發布:2025-02-13 19:41:33 瀏覽:235
android適配屏幕 發布:2025-02-13 19:40:30 瀏覽:792
解壓球0 發布:2025-02-13 19:38:19 瀏覽:642
早春開花植物如何配置 發布:2025-02-13 19:22:19 瀏覽:50
安卓怎麼獲得root錄音許可權 發布:2025-02-13 19:21:22 瀏覽:170
訪問學者留學基金委 發布:2025-02-13 19:21:13 瀏覽:430
制定編程 發布:2025-02-13 19:11:39 瀏覽:58
微商相冊安卓與蘋果機哪個方便 發布:2025-02-13 19:10:02 瀏覽:6
優酷視頻緩存設置 發布:2025-02-13 19:04:03 瀏覽:156
如何識別網路配置 發布:2025-02-13 19:04:02 瀏覽:300