1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 3172字,需瀏覽 7分鐘

         ·

        2021-11-30 17:50




        ??????關(guān)注我,和老表一起學(xué)Python、云服務(wù)器

        4c48a4f7bb61414a014246bb814e99d2.webp

        1. 前言

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

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

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

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

        2. 爬蟲及服務(wù)

        為了演示方便,這里以百度熱搜為新聞早報(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?&

        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無(wú)操作)
        ????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ù)即可

        1cc7e678229e219c08069305221c4c84.webp

        4. 最后

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

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

        另外,由于無(wú)障礙服務(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)力!

        老表每周二贈(zèng)書

        圖書介紹Python自動(dòng)化測(cè)試實(shí)戰(zhàn)本書從自動(dòng)化測(cè)試?yán)碚撊胧?,全面地闡述自動(dòng)化測(cè)試的意義及實(shí)施過(guò)程。全文以Python語(yǔ)言驅(qū)動(dòng),結(jié)合真實(shí)案例分別對(duì)主流自動(dòng)化測(cè)試工具Selenium、RobotFramework、Postman、Python Requests、Appium等進(jìn)行系統(tǒng)講解。通過(guò)學(xué)習(xí)本書,讀者可以快速掌握主流自動(dòng)化測(cè)試技術(shù),并幫助讀者豐富測(cè)試思維,提高Python編碼能力。

        點(diǎn)擊下方卡片直接購(gòu)買學(xué)習(xí)

        贈(zèng)書規(guī)則給本文點(diǎn)贊+周一隨意留言,留言點(diǎn)贊top1可以直接獲得贈(zèng)書一本,另外我將隨機(jī)抽取一位讀者朋友贈(zèng)書一本,另外大家點(diǎn)擊下方公眾號(hào)簡(jiǎn)說(shuō)編程卡片,回復(fù):周一福利,也可以獲得贈(zèng)書一本。

        ?
        關(guān)注我,回復(fù):周一福利


        ??注】同一讀者同一月內(nèi)最多只能獲得一本贈(zèng)書;必須在收到贈(zèng)書后學(xué)習(xí)完圖書內(nèi)容/投稿學(xué)習(xí)筆記一篇后才能獲得下一本贈(zèng)書。

        萬(wàn)水千山總是情,點(diǎn)個(gè)????行不行

        --END--

        如何找到我:

        近期優(yōu)質(zhì)文章:

        Linux里的寶塔,真正的寶塔!詳細(xì)教程

        10行代碼!

        擁有一臺(tái)服務(wù)器后,我竟然這么酷?

        學(xué)習(xí)更多:整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過(guò)250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機(jī)器學(xué)習(xí)等方面,別再說(shuō)不知道該從哪開始,實(shí)戰(zhàn)哪里找了點(diǎn)贊”就是對(duì)博主最大的支持?
        瀏覽 43
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            女生被艹在线观看 | 免费网站做爱 | 久久亚洲V无码专区成人 | 伊人成人在线视频 | 国产成人无码视频在线观看 | 六月婷婷五月 | 哔咔漫画 | 欧美变态ticklexxxx网站 | www.欧美日韩一级在线 | 四虎午夜影院 |