您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Python如何實(shí)現(xiàn)APP自動(dòng)化發(fā)微信群消息”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python如何實(shí)現(xiàn)APP自動(dòng)化發(fā)微信群消息”吧!
但是對于很多人來說,首先編寫一款 App 需要一定的移動(dòng)端開發(fā)經(jīng)驗(yàn),其次還需要另外編寫無障礙服務(wù)應(yīng)用,如此顯得有一定難度的
為了演示方便,這里以百度熱搜為新聞早報(bào)數(shù)據(jù)源,
使用 Requests + BeautifulSoup 按熱度,爬取熱度最高的 15 條數(shù)據(jù)
import requests from bs4 import BeautifulSoup def baidu_top_tipic(): """百度熱搜""" requests_page = requests.get('http://top.baidu.com/buzz?b=1&c=513&fr=topbuzz_b42_c513') soup = BeautifulSoup(requests_page.text, "lxml") # 查詢 soup_text = soup.find_all("div", class_='c-single-text-ellipsis', text=True) top_list = [] for index, text in enumerate(soup_text): top_list.append((str(index + 1) + "、" + text.string.strip())) # 取熱度最高的15條數(shù)據(jù) return '\n'.join(top_list[:15])
然后,利用 FastAPI 編寫獲取新聞早報(bào)的 API,部署到云服務(wù)器上(這里以 CentOS 為例)
import uvicorn from fastapi import FastAPI from every_news import * # pip3 install uvicorn # pip3 install fastapi # 實(shí)例化 app = FastAPI() # 每日新聞 @app.get("/news") async def rsc_api(): msg = get_news() return { "code": 200, "msg": msg } if __name__ == '__main__': uvicorn.run(app='news_api:app', host="0.0.0.0", port=6789, reload=True, debug=True)
最后,運(yùn)行下面命令使服務(wù)在后臺(tái)運(yùn)行
# 命令行后臺(tái)運(yùn)行 # 日志目錄:/news_api.log nohup python3 /xag/news_api.py > /news_api.log 2>&1 &
在 VS Code 中編寫 AutoJS 腳本
首先,定義一個(gè)給群聊發(fā)送消息的方法
PS:使用 click() 坐標(biāo)執(zhí)行點(diǎn)擊操作僅適用于 Android 7.0+
//API調(diào)用獲取新聞數(shù)據(jù) var url = "http://host:6789/news"; //發(fā)送群聊名稱 var group_name = "群聊名稱"; //發(fā)送信息給微信群 function send_wx_msg(group_name, send_msg) { //如果休眠,喚醒設(shè)備 //注意:為了保證耗電低,設(shè)置睡眠(10s無操作) device.wakeUpIfNeeded() //打開微信 app.launch("com.tencent.mm"); text("微信").waitFor() //點(diǎn)擊進(jìn)入到聊天界面 var chat_element_bounds = text(group_name).findOne().bounds(); //支持Android7.0+ click(chat_element_bounds.centerX(), chat_element_bounds.centerY()); sleep(3000) id("auj").className("EditText").findOne().setText(send_msg) sleep(3000) //發(fā)送消息 text("發(fā)送").click() log("發(fā)送成功!") //返回到手機(jī)桌面 back(); home();
然后,在主線程中啟動(dòng)一個(gè)新的線程,調(diào)用 API 接口,獲取數(shù)據(jù)后將數(shù)據(jù)發(fā)送出去
//線程 threads.start(function () { //獲取新聞 http.get(url, {}, function (res, err) { //錯(cuò)誤 if (err) { log("抱歉!今天獲取新聞失敗。。。") return; } log("今日新聞獲取成功!") let html = res.body.string(); let msg = JSON.parse(html).msg; send_wx_msg(group_name, msg) }); })
接著,使用 VS Code 將源碼導(dǎo)入到手機(jī)設(shè)備上
最后,選中源文件 - 右鍵 - 更多 - 定時(shí)任務(wù),設(shè)置定時(shí)任務(wù)即可
到此,相信大家對“Python如何實(shí)現(xiàn)APP自動(dòng)化發(fā)微信群消息”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。