本文目錄一覽:
- 1、如何給微信好友,每天的8點自動發消息
- 2、Python給指定微信好友自動發送信息和圖片
- 3、python編寫微信小程序命令行操作腳本
- 4、如何用Python進行微信二次開發
- 5、我用了100行Python代碼,實現了與女神尬聊微信(附代碼)
- 6、如何在微信中寫Python
如何給微信好友,每天的8點自動發消息
#CSDN上已經有不少方法,這邊給你推薦一位大佬用Python寫的:(代碼是每天晚上發晚安的,複製粘貼後修改即可)
from __future__ import unicode_literals
from threading import Timer
from wxpy import *
import requests
import random
bot = Bot()
# linux執行登陸請調用下面的這句
#bot = Bot(console_qr=2,cache_path=”botoo.pkl”)
def get_news():
“””獲取金山詞霸每日一句,英文和翻譯”””
url = “”
r = requests.get(url)
content = r.json()[‘content’]
note = r.json()[‘note’]
return content, note
def send_news():
try:
contents = get_news()
# 你朋友的微信名稱,不是備註,也不是微信帳號。
my_friend = bot.friends().search(‘fairy’)[0]
my_friend.send(contents[0])
my_friend.send(contents[1])
my_friend.send(u”晚安”)
# 每86400秒(1天),發送1次
t = Timer(86400, send_news)
# 為了防止時間太固定,於是決定對其加上隨機數
ran_int = random.randint(0,100)
t = Timer(86400+ran_int,send_news)
t.start()
except:
# 你的微信名稱,不是微信帳號。
my_friend = bot.friends().search(‘威風大俠’)[0]
my_friend.send(u”今天消息發送失敗了”)
if __name__ == “__main__”:
send_news()
———————
原作者:精神抖擻王大鵬
來源:CSDN
原文:
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
Python給指定微信好友自動發送信息和圖片
import os
import win32gui #pywin32-221.win-amd64-py3.7.exe
import win32con
from ctypes import *
import win32clipboard as w
import time
from PIL import Image #pip install pillow
import win32api
def setText(info):
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, info)
w.CloseClipboard()
def setImage(imgpath):
im = Image.open(imgpath)
im.save(‘1.bmp’)
aString = windll.user32.LoadImageW(0, r”1.bmp”, win32con.IMAGE_BITMAP, 0, 0, win32con.LR_LOADFROMFILE)
def m_click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
def pasteInfo():
win32api.keybd_event(17,0,0,0) #ctrl鍵位碼是17
win32api.keybd_event(86,0,0,0) #v鍵位碼是86
win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0) #釋放按鍵
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)
def searchByUser(uname):
hwnd = win32gui.FindWindow(‘WeChatMainWndForPC’, ‘微信’)
setText(uname)
m_click(100,40)
time.sleep(0.5)
m_click(100,40)
pasteInfo()
time.sleep(1)
m_click(100,120)#搜索到之後點擊
#win32api.keybd_event(13,0,0,0)#回車
#win32api.keybd_event(13,0,KEYEVENTF_KEYUP,0)
#win32gui.SendMessage(hwnd, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
#win32gui.SendMessage(hwnd, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
def sendInfo():
time.sleep(1)
pasteInfo()
time.sleep(1)
win32api.keybd_event(18, 0, 0, 0) #Alt
win32api.keybd_event(83,0,0,0) #s
win32api.keybd_event(83,0,win32con.KEYEVENTF_KEYUP,0) #釋放按鍵
win32api.keybd_event(18,0,win32con.KEYEVENTF_KEYUP,0)
def closeByUser(uname):
hwnd = win32gui.FindWindow(‘WeChatMainWndForPC’, ‘微信’)
win32api.keybd_event(18,0,0,0) #Alt
win32api.keybd_event(115,0,0,0) #F4
win32api.keybd_event(115,0,KEYEVENTF_KEYUP,0)
win32api.keybd_event(18,0,KEYEVENTF_KEYUP,0)
”’
searchByUser(‘Tony老師’)
setText(‘Tony老師理髮師’)
sendInfo()
time.sleep(1)
searchByUser(‘文件傳輸助手’)
setText(‘地表最強CPU’)
sendInfo()
”’
def getNosuffixImgName(imgname):
return os.path.splitext(imgname)[0]
imgdir=’imgs/’
imgs=os.listdir(imgdir)
for img in imgs:
searchByUser(getNosuffixImgName(img))
setImage(imgdir+img)
sendInfo()
time.sleep(1)
python編寫微信小程序命令行操作腳本
本次目的是利用python編寫一個腳本,可以通過命令行向指定appid上傳微信小程序
如何用Python進行微信二次開發
創建步驟:
1.申請免費且支持python的伺服器,新浪雲sae,新建SAE應用之後,有兩種代碼提交方式,建議使用SVN(因為git支持代碼提交,但不支持環境配置);
2.將對應版本的信息複製到微信開發-基本配置-URL,提交顯示錯誤,因為還沒有寫代碼,可以先用web框webpy架寫個網頁;
查看webpy使用說明:
查看ase進行python開發入門說明:
3.配置信息,告訴新浪雲需要什麼運行環境。點擊代碼管理-編輯代碼,將用到的第三方庫信息寫入config.yaml,注意破折號,冒號後面空格!!
libraries:
– name: webpy
version: “0.36”
– name: lxml
version: “2.3.4”
在index.wsgi文件中寫入python啟動程序
新建文件,寫入接受微信get請求驗證的Python文件
4.在index.wgsi中寫入以下信息:
#coding=utf-8
import os
import sae
import web
from weixinInterface import WeixinInterface
#配置web的路由
urls = (
‘/weixin’,’WeixinInterface’
)
#拼接路徑
app_root=os.path.dirname(__file__)
templates_root = os.path.join(app_root,’templates’)
#渲染模版
render = web.template.render(templates_root)
#啟動app
app = web.application(urls,globals()).wsgifunc()
application = sae.create_wsgi_app(app)
5.在自己編寫的Python文件中寫入微信驗證和接受信息的程序
#coding=utf-8
import hashlib
import web
import time
import os
from lxml import etree
#hashlib用於加密,md5,hash等
#lxml用來解析xml文件
class WeixinInterface(object):
#初始化
def __init__(self):
#拼接路徑
self.app_root = os.path.dirname(__file__)
self.templates_root = os.path.join(self.app_root,’templates’)
#渲染模版
self.render = web.template.render(self.templates_root)
#使用get方法,接收微信的get請求,看開發者文檔的說明
#
def GET(self):
data = web.input()
signature = data.signature#微信加密簽名
timestamp = data.timestamp#時間戳
nonce = data.nonce#隨機數
echostr = data.echostr#隨即字元串
token = ‘zq90857’#自己設置的token
#將token、timestamp、nonce三個參數進行字典序排序
list = [token,timestamp,nonce]
list.sort()
#將三個參數字元串拼接成一個字元串進行sha1加密
sha1=hashlib.sha1()
map(sha1.update,list)
temStr = sha1.hexdigest()#加密
#判斷
if temStr == signature:
return echostr
6.假設接收文字信息,按照開發者文檔的要求,配置template文件夾下reply_text.xml文件
$def with(toUser,fromUser,createtime,content)
xml
ToUserName![CDATA[$toUser]]/ToUserName
FromUserName![CDATA[$fromUser]]/FromUserName
CreateTime$createtime/CreateTime
MsgType![CDATA[text]]/MsgType
Content![CDATA[$content]]/Content
/xml
我用了100行Python代碼,實現了與女神尬聊微信(附代碼)
朋友圈很多人都想學python,有一個很重要的原因是它非常適合入門。對於 人工智慧演算法 的開發,python有其他編程語言所沒有的獨特優勢, 代碼量少 ,開發者只需把精力集中在演算法研究上面。
本文介紹一個用python開發的,自動與美女尬聊的小軟體。以下都是滿滿的乾貨,是我工作之餘時寫的,經過不斷優化,現在分享給大家。那現在就讓我們抓緊時間開始吧!
準備:
編程工具IDE:pycharm
python版本: 3.6.0
首先新建一個py文件,命名為:ai_chat.py
PS: 以下五步的代碼直接複製到單個py文件裡面就可以直接運行。為了讓讀者方便寫代碼,我把代碼都貼出來了,但是排版存在問題,我又把在pycharm的代碼排版給截圖出來。
第一步: 引入關鍵包
簡單介紹一下上面幾個包的作用: pickle 包 是用來對數據序列化存文件、反序列化讀取文件,是人類不可讀的,但是計算機去讀取時速度超快。(就是用記事本打開是亂碼)。 而 json包 是一種文本序列化,是人類可讀的,方便你對其進行修改(記事本打開,可以看到裡面所有內容,而且都認識。) gensim 包 是自然語言處理的其中一個python包,簡單容易使用,是入門NLP演算法必用的一個python包。 jieba包 是用來分詞,對於演算法大咖來說效果一般般,但是它的速度非常快,適合入門使用。
以上這些包,不是關鍵,學習的時候,可以先跳過。等理解整個程序流程後,可以一個一個包有針對性地去看文檔。
第二步:靜態配置
這裡path指的是對話語料(訓練數據)存放的位置,model_path是模型存儲的路徑。
這裡是個人編程的習慣,我習慣把一些配置,例如:文件路徑、模型存放路徑、模型參數統一放在一個類中。當然,實際項目開發的時候,是用config 文件存放,不會直接寫在代碼里,這裡為了演示方便,就寫在一起,也方便運行。
第三步: 編寫一個類,實現導數據、模型訓練、對話預測一體化
首次運行的時候,會從靜態配置中讀取訓練數據的路徑,讀取數據,進行訓練,並把訓練好的模型存儲到指定的模型路徑。後續運行,是直接導入模型,就不用再次訓練了。
對於model類,我們一個一個來介紹。
initialize() 函數和 __init__() 函數 是對象初始化和實例化,其中包括基本參數的賦值、模型的導入、模型的訓練、模型的保存、最後返回用戶一個對象。
__train_model() 函數,對問題進行分詞,使用 gesim 實現詞袋模型,統計每個特徵的 tf-idf , 建立稀疏矩陣,進而建立索引。
__save_model() 函數 和 __load_model() 函數 是成對出現的,很多項目都會有這兩個函數,用於保存模型和導入模型。不同的是,本項目用的是文件存儲的方式,實際上線用的是資料庫
get_answer() 函數使用訓練好的模型,對問題進行分析,最終把預測的回答內容反饋給用戶。
第四步:寫三個工具類型的函數,作為讀寫文件。
其中,獲取對話材料,可以自主修改對話內容,作為機器的訓練的數據。我這裡只是給了幾個簡單的對話語料,實際上線的項目,需要大量的語料來訓練,這樣對話內容才飽滿。
這三個工具函數,相對比較簡單一些。其中 get_data() 函數,裡面的數據是我自己編的,大家可以根據自己的習慣,添加自己的對話數據,這樣最終訓練的模型,對話方式會更貼近自己的說話方式。
第五步: 調用模型,進行對話預測
主函數main(), 就是你整個程序運行的起點,它控制著所有步驟。
運行結果:
程序後台運行結果:
如果有疑問想獲取源碼( 其實代碼都在上面 ),可以後台私信我,回復:python智能對話。 我把源碼發你。最後,感謝大家的閱讀,祝大家工作生活愉快!
如何在微信中寫Python
使用python做後台服務,
提供數據介面 用微信小程序提供的前端api和文檔寫前端頁面
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/194414.html