python實(shí)現(xiàn)半自動(dòng)化發(fā)送微信信息
本文實(shí)例為大家分享了python半自動(dòng)化發(fā)送微信信息的具體代碼,供大家參考,具體內(nèi)容如下
相關(guān)第三方庫
1.pyautogui
自動(dòng)操作鼠標(biāo)、鍵盤的第三方庫
2.pyperclip
用于將文本復(fù)制和粘貼到剪貼板
3.requests
HTTP第三方庫
4.psutil
可以查看系統(tǒng)信息,進(jìn)程、CPU等
5.騰訊地圖API
因?yàn)槲蚁雽?shí)現(xiàn)發(fā)送定位,所以需要用
總體思路
1.先手動(dòng)登錄微信
2.使用os模塊調(diào)用微信進(jìn)程
3.使用pyautogui模塊來自動(dòng)操作微信的快捷鍵,實(shí)現(xiàn)搜索好友、發(fā)送信息,pyperclip模塊用來復(fù)制需要發(fā)送的中文
4.使用requests模塊來調(diào)用騰訊地圖的API
具體代碼
# -*- coding: utf-8 -*
import sys
import psutil
import pyautogui
import time
import os
import pyperclip
import json
import requests
def main():
# 先確認(rèn)是否登錄微信
confirms = pyautogui.confirm("微信已登錄?", "請(qǐng)先登錄微信!")
if confirms == "Cancel":
sys.exit()
get_wechat()
find_friend()
msg = locate()
# 發(fā)送內(nèi)容
send(msg)
# 定位
def locate():
url = "https://apis.map.qq.com/ws/location/v1/ip?key=自己申請(qǐng)的key"
session = requests.Session()
# 取消代理
session.trust_env = False
resp = session.get(url)
print(resp.json())
adress = resp.json()
print(adress["result"]["location"])
# 獲取到經(jīng)緯度
point = adress["result"]["location"]
# 由經(jīng)緯度獲取定位
pointUrl = "https://apis.map.qq.com/uri/v1/geocoder?coord=" + str(point["lat"]) + "," + str(
point["lng"]) + "&referer=自己申請(qǐng)的key"
print(pointUrl)
return pointUrl
def find_friend():
pyautogui.hotkey("ctrl", "f")
pyautogui.hotkey("ctrl", "a")
pyautogui.hotkey("delete")
content = pyautogui.prompt("請(qǐng)輸入好友名:")
if content is None:
sys.exit()
pyperclip.copy(content)
pyautogui.hotkey("ctrl", "v")
pyautogui.hotkey("enter")
def send(msg):
pyperclip.copy(msg)
pyautogui.hotkey("ctrl", "v")
pyautogui.hotkey("enter")
# 查找進(jìn)程
def get_wechat():
flag = False
pids = psutil.process_iter()
for p in pids:
if p.name() == "WeChat.exe":
flag = True
print(p.name())
print(p.exe())
os.system(p.exe())
break
else:
continue
if not flag:
pyautogui.alert("請(qǐng)先登錄微信!")
if __name__ == '__main__':
pyautogui.FAILSAFE = True
pyautogui.PAUSE = 0.2
main()
不足之處
1、發(fā)送定位,發(fā)送的只能是一個(gè)鏈接,沒有實(shí)現(xiàn)手機(jī)微信定位所實(shí)現(xiàn)的可預(yù)覽的效果
2、搜索好友時(shí),沒有辨別輸入的是例如聊天內(nèi)容等其他東西,所以需要用戶確保自己輸入的是好友名
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 使用python實(shí)現(xiàn)自動(dòng)化控制電腦版微信
- Python實(shí)現(xiàn)微信高效自動(dòng)化操作
- 利用Python找出刪除自己微信的好友并將他們自動(dòng)化刪除
- Python+Appium自動(dòng)化操作微信的教程分享
- Python實(shí)現(xiàn)APP自動(dòng)化發(fā)微信群消息的示例代碼
- 基于python實(shí)現(xiàn)微信收紅包自動(dòng)化測(cè)試腳本(測(cè)試用例)
- Python+Appium實(shí)現(xiàn)自動(dòng)化清理微信僵尸好友的方法
- Python wxauto 庫解鎖微信自動(dòng)化的無限可能(示例代碼)
相關(guān)文章
Zabbix實(shí)現(xiàn)微信報(bào)警功能
這篇文章主要介紹了Zabbix實(shí)現(xiàn)微信報(bào)警的相關(guān)資料,本文圖文并茂介紹的非常詳細(xì),需要的朋友可以參考下2016-10-10
Python3模擬curl發(fā)送post請(qǐng)求操作示例
這篇文章主要介紹了Python3模擬curl發(fā)送post請(qǐng)求操作,結(jié)合實(shí)例形式分析了Python3使用Request請(qǐng)求模擬curl發(fā)送post相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
Python數(shù)字/字符串補(bǔ)零操作實(shí)例代碼
我們?cè)陂_發(fā)中為了排版方便或者是輸出文件命名整潔,通常需要給數(shù)字前面補(bǔ)0來做統(tǒng)一,這篇文章主要給大家介紹了關(guān)于Python數(shù)字/字符串補(bǔ)零操作的相關(guān)資料,需要的朋友可以參考下2021-07-07
pandas中concat函數(shù)實(shí)現(xiàn)橫向連接
在pandas中,concat函數(shù)可用于合并不同的Series和DataFrame對(duì)象,本文主要介紹了pandas中concat函數(shù)實(shí)現(xiàn)橫向連接,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
python使用psutil模塊獲取系統(tǒng)狀態(tài)
作為程序猿,大家可能都熟悉linux系統(tǒng)的基礎(chǔ)信息獲取方法都是通過shell來獲取,但是在python中,我們還可以使用psutil模塊來獲取系統(tǒng)信息。psutil模塊把shell查看系統(tǒng)基礎(chǔ)信息的功能都包裝了下,使用更加簡(jiǎn)單,功能豐富。2016-08-08

