亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

App 端自動(dòng)化的最佳方案,完全解放雙手!

番茄西紅柿 / 3260人閱讀

摘要:前言大家好,我是安果之前寫過一篇文章,文中提出了一種方案,可以實(shí)現(xiàn)每天自動(dòng)給微信群群發(fā)新聞早報(bào)如何利用爬蟲實(shí)現(xiàn)給微信群發(fā)新聞早報(bào)詳細(xì)但是對(duì)于很多人來說,首先編寫一款需要一定的移動(dòng)端開發(fā)經(jīng)驗(yàn),其次還需要另外編寫無障礙服務(wù)應(yīng)用,如此顯得有一定難

1. 前言

大家好,我是安果!

之前寫過一篇文章,文中提出了一種方案,可以實(shí)現(xiàn)每天自動(dòng)給微信群群發(fā)新聞早報(bào)

如何利用 Python 爬蟲實(shí)現(xiàn)給微信群發(fā)新聞早報(bào)?(詳細(xì))

但是對(duì)于很多人來說,首先編寫一款 App 需要一定的移動(dòng)端開發(fā)經(jīng)驗(yàn),其次還需要另外編寫無障礙服務(wù)應(yīng)用,如此顯得有一定難度的

本篇文章將介紹另外一種方案,即:利用前面文章介紹的 AutoJS 來實(shí)現(xiàn)自動(dòng)給微信群發(fā)送新聞早報(bào)

2. 爬蟲及服務(wù)

為了演示方便,這里以百度熱搜為新聞早報(bào)數(shù)據(jù)源,

使用 Requests + BeautifulSoup 按熱度,爬取熱度最高的 15 條數(shù)據(jù)

import requestsfrom bs4 import BeautifulSoupdef 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 uvicornfrom fastapi import FastAPIfrom 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.lognohup python3 /xag/news_api.py >  /news_api.log 2>&1 &

3. 自動(dòng)化發(fā)送群聊

在 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ù)即可

4. 最后

如此,即可以實(shí)現(xiàn)每天早上給指定群發(fā)送新聞早報(bào)的功能

當(dāng)然,如果涉及多個(gè)群聊的發(fā)送,只需要使用 AutoJS 查詢多個(gè)目標(biāo)群聊對(duì)象 + 頁面滑動(dòng),遍歷進(jìn)行發(fā)送信息即可

另外,由于無障礙服務(wù)的不穩(wěn)定性,可以在設(shè)置中 AutoJS 應(yīng)用服務(wù)的優(yōu)先級(jí),保證程序的穩(wěn)定運(yùn)行

如果你覺得文章還不錯(cuò),請(qǐng)大家 點(diǎn)贊、分享、留言 下,因?yàn)檫@將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強(qiáng)動(dòng)力!

推薦閱讀

移動(dòng)端自動(dòng)化 AutoJS 快速入門指南(上)

5 分鐘,使用內(nèi)網(wǎng)穿透快速實(shí)現(xiàn)遠(yuǎn)程桌面

聊聊 Jmeter 如何并發(fā)執(zhí)行 Python 腳本

聊聊 PC 端自動(dòng)化最佳方案 - Pywinauto

聊聊 PC 端自動(dòng)化最佳方案 - WinAppDriver

分享 Python 自動(dòng)化及爬蟲、數(shù)據(jù)分析實(shí)戰(zhàn)干貨,歡迎關(guān)注。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/124806.html

相關(guān)文章

  • 神器!解放雙手——UI設(shè)計(jì)稿全自動(dòng)切圖和標(biāo)注一些工具推薦

    摘要:藍(lán)湖通過幫助設(shè)計(jì)師更好地向團(tuán)隊(duì)展示設(shè)計(jì)圖描述頁面之間的跳轉(zhuǎn)關(guān)系。如果設(shè)計(jì)圖出現(xiàn)改動(dòng)和更新,藍(lán)湖也能自動(dòng)添加新版本。藍(lán)湖基于這些反饋快速迭代,而自動(dòng)標(biāo)注功能就是其中一項(xiàng)。 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動(dòng)態(tài),大家一起多交流學(xué)習(xí),共同進(jìn)步,以學(xué)習(xí)者的身份寫博客,記錄點(diǎn)滴。 工欲善其事,必先利其器。我只是...

    lylwyy2016 評(píng)論0 收藏0
  • 神器!解放雙手——UI設(shè)計(jì)稿全自動(dòng)切圖和標(biāo)注一些工具推薦

    摘要:藍(lán)湖通過幫助設(shè)計(jì)師更好地向團(tuán)隊(duì)展示設(shè)計(jì)圖描述頁面之間的跳轉(zhuǎn)關(guān)系。如果設(shè)計(jì)圖出現(xiàn)改動(dòng)和更新,藍(lán)湖也能自動(dòng)添加新版本。藍(lán)湖基于這些反饋快速迭代,而自動(dòng)標(biāo)注功能就是其中一項(xiàng)。 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動(dòng)態(tài),大家一起多交流學(xué)習(xí),共同進(jìn)步,以學(xué)習(xí)者的身份寫博客,記錄點(diǎn)滴。 工欲善其事,必先利其器。我只是...

    tianren124 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<