前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

基本环境配置

版本:Python3

系统:Windows

一些 Python 代码加速运行的技巧进行整理 Python 第1张

 

需要安装:

1.JDK - Download JDK,Appium要求用户必须配置JAVA环境, 否则启动Seesion报错。

2.Appium - Download Appium, 安装过程请自行搜索。

3.Android SDK - Download SDK

4. Selenium - 建议使用低版本的Python Selenium库,在Chrome高版本可能会报错。例如:

一些 Python 代码加速运行的技巧进行整理 Python 第2张

 

5. chromedriver.exe - Download Chromedriver, 确保版本要匹配, 然后将 .exe 程序放在"..Python\Python36\Scripts"目录下。

6. pymongo

一些 Python 代码加速运行的技巧进行整理 Python 第3张

 

7. MongoDB Server - Download MongoDB

爬取思路

爬取思路:

  • 模拟登录
  • 抓取动态
  • 保存数据

Android SDK的安装与配置

打开Android Studio, 选择"Configure->SDK Manager->Apperance&Behavior->System Settings->Android SDK", 选择对应安卓机版本的SDK,如图:

一些 Python 代码加速运行的技巧进行整理 Python 第4张

 

此外,还需要将SDK所在路径添加到系统环境变量中,否则报错。

Desired Capabilites 参数

分别是:platfornName, deviceName, appPackage, appActivity。前两个可通过如下命令获取, 前提是连接手机、打开USB调试:

一些 Python 代码加速运行的技巧进行整理 Python 第5张

 

一些 Python 代码加速运行的技巧进行整理 Python 第6张

 

后两个参数请移步:获取appPackage和appActivity

开启安卓的" 开发者选项、USB调试 "

测试之前,确保打开 开发者选项、USB调试。开发者模式确保调试程序在手机安装辅助软件:Unlock, Appium Settings;USB调试主要是利用Appium内置驱动打开APP。此外,要保持屏幕常亮。

5. 节点ID或XPATH值获取

安卓微信节点获取,相对比较容易获取,比如获取"登录"ID值,启动Session后只需点击屏幕左侧安卓屏的登录按钮,中间就会自动定位到所在节点,最右侧还会显示该节点的所有属性。如图:

一些 Python 代码加速运行的技巧进行整理 Python 第7张

 

对于文本输入框,只需要点击最右侧的"send text"即可。

"是否匹配通讯录"

这里选择"否", 理由:重新登录进入微信后会自动加载本地数据,耗时较长,如果匹配通讯录好友,增加耗时,可能在TIMEOUT时间内获取不到节点,导致程序终止。我这里选择了"是", 如图:

一些 Python 代码加速运行的技巧进行整理 Python 第8张

 

朋友圈信息获取思路

获取当前显示的朋友圈每条状态对应的区块元素,遍历每个区块元素,再获取内部显示的用户名、正文、发布时间,代码如下:

一些 Python 代码加速运行的技巧进行整理 Python 第9张

 

日期处理

日期处理的实现方式,代码如下:

一些 Python 代码加速运行的技巧进行整理 Python 第10张

 

完整代码

一些 Python 代码加速运行的技巧进行整理 Python 第11张

 

注意事项:

  1. 代码中所有节点都须提前通过 Appium新建Session获取(亲测同版本的微信中vivo_x7和Mi_8节点相同,其余机型未知)
  2. 建议使用高性能手机测试(MI_8|MI_9等)

运行结果

一些 Python 代码加速运行的技巧进行整理 Python 第12张
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄