首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python自动化运营微博的一点思考

【这是Python知识圈的第90篇原创】

阅读文本大概需要 5 分钟。

前言

最近在琢磨自动化运营微博的事情,我之前很少刷微博,偶尔看看热点,微博里也没怎么发内容。我想着怎么利好技术每天让微博自己动起来呢。

我目前的做法还比较简单粗暴,直接点击 APP 中当天的热点新闻,复制文本,截图,转发,搞定。

转发时直接粘贴复制的文本有时会出现字数超过 140 字,这时需要对页面超出的字数做判断后做删减处理。

截图的作用是什么?在热点新闻页面截图,我们可以发微博时附上这张截图,也可以在其他平台发这条热点。

环境

除了 Python 语言环境外,因为我们操作的是 APP,所以需要 Appium 工具。

还需要一台自己的手机,我用的是 Android 手机,操作 Android 手机少不了 adb 命令。

关于自动化环境这块,你可以在我公众号的精选文章的自动化板块里找到相关的文章,更详细的资料可以去我自己搭建的个人技术博客上看,博客网址:https://www.pyzhishiquan.com。

本文的重点不在环境这块,因为这块还不是很成熟,所以抛出一个思路,大家如有更多的思路和方法,欢迎大家留言一起搞事情。

本文先分享上面提到的一个技术点:截图,以后再慢慢搞其他事情。

截图通常有两种形式,一种是把截图保存在自己的电脑中。另一种就是把截图保存在手机内存里面。

保存截图在电脑本地

把截图保存在电脑中的需求比较常见,实现也比较简单,直接调用的 get_screenshot_as_file 方法直接可以保存在 PC 本地。

括号里给的是图片保存的路径和图片的命名。

保存截图在手机内存

怎么把图片截取到手机里,因为我们全程操作的是 APP,所以把截图放在手机里是最方便的。那如何把截图保存在手机内存里呢?

adb 推送到手机

第一种方法是先用上面的 get_screenshot_as_file 方法保存到本地,然后用 adb 命令 push 到手机内存里。

push 命令的格式如下:

前面的路径是电脑中的路径,后面的路径是你需要推送到手机内存中的路径,我写的是手机中所有截图的路径目录。

这是 adb 命令,我们在 Python 中怎么调用呢?

引号里写入上面的 adb 命令即可。

直接用 adb 中的截图方法

adb 命令还是比较方便的,我们可以直接用 adb 命令中的截图方法,格式如下。

-p 后写的是保存在手机的路径。

这两种方法有什么区别?

第 2 种用 adb 命令直接截图放在手机里的,我们可以直接在相册中找到,而且是显示在最新的位置,这样就很方便了,发送动态的时候直接选择相册里的第一张图片就可以了。所以全程操作 APP 的用这种方法比较方便。

其他截图方法探索

其实我还在探索另外一种方法。就是用安卓手机的模拟按键方法。

比如上面中的 4 表示手机中的返回按键,安卓中截图用的是 音量- 键加电源键,音量-键对应的 keyevent 是 25,电源键对应的 keyevent 是 26,把这两个放一起能到达效果吗?

这样不行,25 和 26 调换顺序也不行,keyevent 源码中看了下,也没写支持这种同时按键的,所以这种方法放弃。

keyevent 源码

本文暂时只是给出一个思路,其他的等捯饬成熟后再分享更多内容给大家,大家有好的思路的可以在下方留言,一起探讨搞事情。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190515A0DEU500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券