当前位置: 首页 > 后端技术 > Python

App端自动化最佳解决方案,彻底解放你的双手!_0

时间:2023-03-26 15:39:52 Python

1。前言大家好,我是安国!之前写过一篇文章,提出了每天自动发早间新闻到微信群的解决方案。如何使用Python爬虫向微信群发送早间新闻?(详情)但是对于很多人来说,首先,写一个App需要一定的移动开发经验,其次,还要另外写一个无障碍服务应用,这似乎有些难度。本文将介绍另一种解决方案,即:使用上一篇介绍的AutoJS自动发送早间新闻到微信群2.爬虫与服务为了演示方便,这里我们使用百度热搜作为早间新闻的数据源,使用Requests+BeautifulSoup根据热度爬取15篇最热门的文章Dataimportrequestsfrombs4importBeautifulSoupdefbaidu_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")#querysoup_text=soup.find_all("div",class_='c-single-text-ellipsis',text=True)top_list=[]forindex,textinenumerate(soup_text):top_list.append((str(index+1)+","+text.string.strip()))#取15条最受欢迎的数据返回'\n'.join(top_list[:15])然后,使用FastAPI编写获取早间新闻的API,部署到云服务器上(这里以CentOS为例举个例子)importuvicornfromfastapiimportFastAPIfromevery_newsimport*#pip3installuvicorn#pip3installfastapi#实例化应用程序=FastAPI()#DailyNews@app.get("/news")asyncdefrsc_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)最后运行如下命令让服务后台运行#命令行后台running#日志目录:/news_api.lognohuppython3/xag/news_api.py>/news_api.log2>&1&3.自动发送群聊在VSCode中编写AutoJS脚本首先,定义一个向群聊发送消息的方法PS:使用click()坐标进行点击操作只适用于Android7.0+//API调用获取新闻数据varurl="http://host:6789/news";//发送群聊名vargroup_name="群聊名";//发送消息到微信群??functionsend_wx_msg(group_name,send_msg){//如果休眠,唤醒device//注意:为保证低功耗,设置休眠(10s无操作)device.wakeUpIfNeeded()//打开微信app.launch("com.tencent.mm");text("WeChat").waitFor()//点击进入聊天界面varchat_element_bounds=text(group_name).findOne().bounds();//支持Android7.0+点击(chat_element_bounds.centerX(),chat_element_bounds.centerY());睡眠(3000)id(“auj”).className(“EditText”).findOne().setText(send_msg)sleep(3000)//发送一条消息text("Send").click()log("Sendsuccessful!")//返回手机桌面back();家();然后,在主线程中启动一个新的线程,调用API接口,获取数据并发送数据//Threadthreads.start(function(){//获取消息http.get(url,{},function(res,err){//Errorif(err){log("抱歉!今天获取新闻失败...")return;}log("今天获取新闻成功!")lethtml=res.body.string();letmsg=JSON.parse(html).msg;send_wx_msg(group_name,msg)});})然后,使用VSCode将源代码导入移动设备。最后选择源文件-右键-更多-定时任务,设置定时任务。4、最后可以实现每天早上给指定群组发送早报的功能。当然,如果涉及发送多个群聊,只需要使用AutoJS查询多个目标群聊对象+滑动页面,遍历发送信息即可。但另外,由于无障碍服务的不稳定,您可以在设置中设置AutoJS应用服务的优先级,以保证程序的稳定运行。如果觉得文章还不错,请点赞、分享、留言,因为这将是我不断输出更多优质文章的最强动力!推荐5分钟阅读《AutoJS移动自动化快速入门指南(上)》,利用内网穿透快速实现远程桌面。说说Jmeter是如何并发执行Python脚本的。谈谈PC端自动化的最佳方案。-WinAppDriver