手把手教你使用Python操控手机微信app(最新教程)

/1 前言/

最近在做手机APP自动化测试,需要安appium,并配置环境变量,网上虽然有很多教程,但是随着版本的更新总有各种各样的坑,本文以亲身踏坑经历给大家详细介绍一下如何正确安装appium。

/2 第一步:安装Adroid SDK/

1、按照网上的教程,先下载Adroid SDK,网址为https://www.androiddevtools.cn/,如下图所示。

手把手教你使用Python操控手机微信app(最新教程)

2、下载过程很顺利,如下图所示。

手把手教你使用Python操控手机微信app(最新教程)

3、之后点击SDK Manager.exe文件,发现没反应。

手把手教你使用Python操控手机微信app(最新教程)

4、遂百度寻找答案,大多解决办法如下图所示:

手把手教你使用Python操控手机微信app(最新教程)

5、然而按照上述步骤并没有“神奇”的打开,这个问题让我纠结了一下午,最后我不得不跳出这个坑,选择安装Android Studio,因为在它里面也可以安装Adroid SDK,下载地址为http://www.android-studio.org/,整个下载过程很顺利,安装过程也很顺利,但是到最后弹出如下错误:

手把手教你使用Python操控手机微信app(最新教程)

6、原因是第一次安装,启动后,检测到电脑没有SDK。第一个解决办法是在安装的目录下找到:bin\idea.properties打开(用记事本)这个文件末尾添加一行disable.android.first.run=true,然后就可以打开Android Studio了,但是这个方法治标不治本,只能顺利打开这个软件,但是不能安装SDK。

7、第二个解决办法是,不翻墙的情况下,一般都是修改host文件:C:\Windows\System32\drivers\etc\hosts,如下图所示。

手把手教你使用Python操控手机微信app(最新教程)

8、在最下面加如上两行命令,再打开Android Studio就能用了,在Android Studio软件下面这个界面可以下载安装所需的Android版本,这一步到此就大功告成了。

手把手教你使用Python操控手机微信app(最新教程)

/3 第二步:下载安装JAVA/

网址为https://www.oracle.com/technetwork/java/javase/downloads/index.html,我安装的是jdk-13.0.1,按照如下配置环境变量:

1、系统变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk-13.0.1;

2、系统变量名:CLASSPATH,变量值:%java_home%\lib。

但是网上很多教程CLASSPATH的变量值为:

手把手教你使用Python操控手机微信app(最新教程)

这是老版本的环境变量配置方式,新版本jdk-13.0.1文件夹下是没有dt.jar和tools.jar的,大家一定要注意。

/4 第三步:安装appium/

1、这一步比较简单,基本没有坑,直接在appium官网下载安装即可,打开后如下图所示。

手把手教你使用Python操控手机微信app(最新教程)

2、点击Start Server v1.8.1,进入如下界面,如下图所示。

手把手教你使用Python操控手机微信app(最新教程)

我已经配置好了参数,platformName为系统类型,deviceName为手机型号,appPackage和appActivity都代表手机app的标志,此处代表微信app,点击Start Session。

3、手机界面就显示出来了,已经打开了微信,到这一步appium安装及环境搭建已经全部完成,如下图所示。

手把手教你使用Python操控手机微信app(最新教程)

/5 第四步:撸代码/

1、部分代码截图如下图所示。

手把手教你使用Python操控手机微信app(最新教程)

2、执行此代码也可以如第三步一样打开微信登录界面,下面就可以像selenium操作网页一样用appium对微信app界面的元素执行点击、输入等操作了,如果不知道某个按键的元素,可以在appium客户端点击某按钮,然后它的元素信息就在右侧显示出来了,如下图所示。

手把手教你使用Python操控手机微信app(最新教程)

现在你就可以随心所欲的对微信进行自动化测试了。

/6 结语/

本文主要介绍了使用Python代码实现操控手机微信app,教程写的相对基础一些,但是部分细节方面还是节省了很多,大家在尝试的过程中肯定还会有各种问题。

另外本文涉及的Pyhton代码,我已经上传到Github了,感兴趣的小伙伴们,可以去看看,觉得不错,记得给个Star噢!

感谢大家的阅读!

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

前几天给大家分享了如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,感兴趣的小伙伴可以点击链接进行查看。今天小编给大家介绍如何利用Python网络爬虫抓取微信好友的省位和城市,并且将其进行可视化,具体的教程如下。

爬取微信好友信息,不得不提及这个itchat库,简直太神奇了,通过它访问微信好友基本信息可谓如鱼得水。下面的代码是获取微信好友的省位信息:

利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

程序运行之后,需要扫描进行授权登录,之后在Pycharm的控制台上会出现如下图的红色提示,这些红色的字体并不是我们通常遇到的Python程序运行报错,属于正常的状态,不用太理会。大意是提示你要用手机扫描下载过来的二维码;确认授权;加载通讯录好友信息;登录成功。之后就会将程序中所需要的内容打印出来,如下图所示:

利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

将打印出来的内容放到记事本中,如下图所示:

利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

可以看到小编的大部分好友都是在中国,而且辽宁的朋友最多,其次是广东省和湖南省的好友居多,可以知道小编是和这三个地方结缘了。下图中展示的省位好友数量并没有那么多,除了青海之外,全部都是国外的城市或国家名称,说明小编的青海朋友并不多,希望可以多交几位青海省的朋友。另外经过统计,小编还发现自己并没有云南、海南和甘肃的朋友,希望可以和这几个地方的伙伴们做个朋友 ~

利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

下图展示的是对好友的地图可视化,具体的实现可以参考这篇文章:Python大佬批量爬取中国院士信息,告诉你哪个地方人杰地灵,在此就不再赘述。

利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

可以看到颜色较深的省位是辽宁省、广东省和湖南省,说明这三个省位小编的好友较多。

接下来继续写代码,抓取微信好友所在的城市,如下图所示:

利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

这里代码和程序运行的截图都放到一起了,在此对于红色字体就不再赘述了。就打印出来的信息可以看到,小编的微信好友中大连的朋友最多,其实是广东省的朋友,如广州和深圳,再就是湖南省的朋友了,如衡阳和长沙。

将微信好友城市分布拷贝到记事本中,可以更加清楚的看到好友的分布,如下图所示:

利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

还有部分城市如下图所示:

利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

还有一些地区就不再多粘贴出来了。另外,感兴趣的小伙伴可以将城市统计汇总,之后将其做个地图可视化,可以尝试一下噢~~

^_^小编最后祝大家周末愉快^_^

——————- End ——————-

往期精彩文章推荐:

手把手用Python教你如何发现隐藏wifi

手把手教你用Python做个可视化的“剪刀石头布”小游戏

手把手用Python网络爬虫带你爬取全国著名高校附近酒店评论

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

利用Python网络爬虫抓取微信好友的签名及其可视化展示

前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化,感兴趣的小伙伴可以点击进去看看详情,内容方面不是很难,即使你是小白,也可以通过代码进行实现抓取。今天,小编继续给大家分享如何利用Python网络爬虫抓取微信好友的签名及其可视化展示,具体的教程如下所示。

1、代码实现还是基于itchat库,关于这个神奇的库,在之前的文章中有提及, 再次不多赘述。下图的代码的功能是实现签名的抓取和数据提取。之后将抓取到的数据写入到本地文件中去。

利用Python网络爬虫抓取微信好友的签名及其可视化展示

2、程序运行完成之后,得到了一个文本文件,内容如下图所示。

利用Python网络爬虫抓取微信好友的签名及其可视化展示

第一行中最开始的那条签名是小编自己的,博学,审问,慎思,明辨,笃行。之后的签名是根据微信通讯录上的名片列序来进行呈现的。如果好友有微信签名的话,都会抓取下来,如果没有签名的话,则忽略。

3、随机的验证一下微信好友的签名,再此以小编对象的微信签名为例,她的签名是“得之安然、失之坦然、处之泰然、顺其自然、争其必然!”,之后在TXT文件中进行搜索,可以看到其签名确实是存在里边的,如下图所示。

利用Python网络爬虫抓取微信好友的签名及其可视化展示

4、接下来就要对这个文件文件进行词云可视化呈现了。继续写代码,如下图所示。

利用Python网络爬虫抓取微信好友的签名及其可视化展示

代码的关键部分是需要底图和字体,底图小编用的是路飞,注意要使用白色底图的图片,不然词云可视化的时候效果不佳。

利用Python网络爬虫抓取微信好友的签名及其可视化展示

字体的话需要自己提前去下载,对于可视化呈现也可以参考这篇文章:如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

5、运行程序之后,仍然需要进行扫码授权,程序运行如下图所示。

利用Python网络爬虫抓取微信好友的签名及其可视化展示

红色代码部分,上一篇文章已经详细讲解过了,再次不多赘述了。

6、之后我们可以看到漂亮的词云图就展示在我们面前了,如下图所示。

利用Python网络爬虫抓取微信好友的签名及其可视化展示

根据词云的可视化效果来看,关键词:人生、努力、时间、我们、哈哈哈……等词语,出现的频率较高。可以感受得到小编的微信好友的签名基本上都突显出积极乐观,珍惜时间,努力奋斗的特征。

劝君吸取金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。祝福大家周末愉快,人生苦短,我用Python~~

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例

前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态——附代码(下),并且对抓取到的数据进行了Python词云和wordart可视化,感兴趣的伙伴可以戳这篇文章:利用Python词云和wordart可视化工具对朋友圈数据进行可视化。

今天我们继续focus on微信,不过这次给大家带来的是利用Python网络爬虫抓取微信好友总数量和微信好友男女性别的分布情况。代码实现蛮简单的,具体的教程如下。小伙伴们,文章最后有彩蛋喔~~

相信大家都知道,直接通过网页抓取微信的数据不太可行,但是强大的Python提供了一个itchat库,搭建了链接微信好友信息的友好桥梁,直接上代码,如下图所示。

关键部分的代码,都有注释,方便大家理解。当程序运行的时候,会弹出一个微信二维码,此时需要用手机扫码授权登录。如果您当时正在微信电脑版上登录的话,此时微信会强制退出,然后进行授权。授权成功之后,程序会继续往下执行,稍等片刻之后,便可以给您返回您的微信好友数量信息。

在这里,以小编的微信好友为例,程序运行之后,得到的信息如下图所示:

可以看到,小编的微信好友共有1637人。相信很多小伙伴已经知道在手机微信页面的第二个选项卡“通讯录”下,一直往下拉取好友列表,直到最后,就可以看到自己微信好友的数量,大家可以试试看,是不是和Python程序抓取到的数量是否一致。

接下来,小编继续带您继续发现微信好友中的男女比例。其实也很简单,代码实现也很容易,这里介绍两种方式,如下图所示。(注:代码是接着前面的程序往下继续写的)

可以自定义一个函数,获取性别信息,也可以直接调用value_counts()方法,可以更方便统计各项出现的次数。小编的微信好友男女数量情况如下图所示,在这里,1代表男士,2代表女士,0代表未知性别(因为有的好友并没有设置性别这一项)。

可以看到,小编有884位男性好友,拥有655位女性好友,还有将近100位好友未知男女性别情况。

至此,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例已经完成,小伙伴们可以打开电脑,赶紧去尝试一下吧,简单的几行代码,带你玩转微信好友~~~

这篇文章的主要参考链接在这里:https://blog.csdn.net/zhanshirj/article/details/74166303,感谢大佬提供的思路和方法。

下一篇文章,小编继续给大家分享微信好友的那些事儿,带大家利用Python网络爬虫抓取微信好友的所在省位和城市分布,并且对其进行可视化,敬请关注~~

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化展示

大前天我们通过Python网络爬虫对朋友圈的数据进行了抓取,感兴趣的朋友可以点击进行查看,如何利用Python网络爬虫抓取微信朋友圈的动态(上)和如何利用Python网络爬虫爬取微信朋友圈动态——附代码(下)。今天小编带大家通过词云去将其进行可视化,具体的教程如下。

1、在Python中做词云,需要用到wordcloud库和jieba分词库,没有安装的伙伴可以直接pip安装即可。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

2、之后你可能还需要一些字体,如simhei.ttf等,这些字体在网上都有,可以直接进行下载,在做词云的时候会用得到,如下图所示。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

3、在items.py的同级目录下建立analyse.py文件,定义analyse_words方法,用于实现词云可视化,jieba.cut用于得到分词结果,具体的代码实现,如下图所示。因为得到的moment.json数据是以JSON格式存储的,所以需要在该文件中导入JSON模块对其进行解析。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

这个地方需要注意一下,由于我们的memoent.json文件中是中文字符,如果在open()函数中没有加入encoding=’utf-8’的话会导致gbk编码错误,记得将编码加上即可。

4、之后运行程序,得到keys.png图片文件,程序运行的效果如下图所示。可以看到keys.png已经在items.py目录下了。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

5、双击keys.png,如下图所示。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

6、不得不承认,这个词云图片内容确实丰富,不过也十分的丑。小编利用wordart(一个词云网站)将朋友圈数据进行更加美化的可视化。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

7、比方说用动物的图案进行可视化,效果图如下图所示。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

8、如果直接将数据进行导入的话,wordart会直接将整段话进行可视化,这样显得十分冗余,看上去也不太友好,因此还需要通过Python对数据进行分频统计,之后再导入到wordart中就可以看到想要的效果了。首先,我们需要对json文件进行处理一下,将文本全部导出来,形成一个moment.txt文件。内容如下图所示。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

9、编写代码,将文本进行分词,代码实现如下所示。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

10、程序运行完成之后,得到的moment_outputs.txt文件,内容如下图所示,可以很清楚的看到分词情况。红色部分是程序运行的过程。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

11、继续编写代码,将词频进行统计汇总,代码实现如下图所示。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

12、程序运行之后,得到一个txt和Excel文件,里边是关于词频统计的信息,如下图所示。红色部分是程序运行的结果,并没有报错。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

13、将这些关键字导入到wordart中进行可视化,如下图所示。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

14、设置一下图案、字体、排版、颜色等等,就可以生成绚丽的词云图了,下图是汪星人词云图。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

15、下图是小云朵词云图,可以给视觉带来一场饕餮盛宴。

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化

小伙伴们,你们有没有觉得很神奇呢?喜欢的话欢迎收藏和转载噢~~

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门。不过不要慌,小编在网上找到了第三方工具,它可以将朋友圈进行导出,之后便可以像我们正常爬虫网页一样进行抓取信息了。

【出书啦】就提供了这样一种服务,支持朋友圈导出,并排版生成微信书。本文的主要参考资料来源于这篇博文:https://www.cnblogs.com/sheng-jie/p/7776495.html ,感谢大佬提供的接口和思路。具体的教程如下。

一、获取朋友圈数据入口

1、关注公众号【出书啦】

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

2、之后在主页中点击【创作书籍】–>【微信书】。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

3、点击【开始制作】–>【添加随机分配的出书啦小编为好友即可】,长按二维码之后便可以进行添加好友了。

4、之后耐心等待微信书制作,待完成之后,会收到小编发送的消息提醒,如下图所示。

至此,我们已经将微信朋友圈的数据入口搞定了,并且获取了外链。

确保朋友圈设置为【全部开放】,默认就是全部开放,如果不知道怎么设置的话,请自行百度吧。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

5、点击该外链,之后进入网页,需要使用微信扫码授权登录。

6、扫码授权之后,就可以进入到微信书网页版了,如下图所示。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

7、接下来我们就可以正常的写爬虫程序进行抓取信息了。在这里,小编采用的是Scrapy爬虫框架,Python用的是3版本,集成开发环境用的是Pycharm。下图是微信书的首页,图片是小编自己自定义的。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

二、创建爬虫项目

1、确保您的电脑上已经安装好了Scrapy。之后选定一个文件夹,在该文件夹下进入命令行,输入执行命令:

scrapy startproject weixin_moment

,等待生成Scrapy爬虫项目。

2、在命令行中输入cd weixin_moment,进入创建的weixin_moment目录。之后输入命令:

scrapy genspider ‘moment’ ‘chushu.la’

,创建朋友圈爬虫,如下图所示。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

3、执行以上两步后的文件夹结构如下:

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

三、分析网页数据

1、进入微信书首页,按下F12,建议使用谷歌浏览器,审查元素,点击“Network”选项卡,然后勾选“Preserve log”,表示保存日志,如下图所示。可以看到主页的请求方式是get,返回的状态码是200,代表请求成功。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

2、点击“Response”(服务器响应),可以看到系统返回的数据是JSON格式的。说明我们之后在程序中需要对JSON格式的数据进行处理。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

3、点击微信书的“导航”窗口,可以看到数据是按月份进行加载的。当点击导航按钮,其加载对应月份的朋友圈数据。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

4、当点击【2014/04】月份,之后查看服务器响应数据,可以看到页面上显示的数据和服务器的响应是相对应的。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

5、查看请求方式,可以看到此时的请求方式变成了POST。细心的伙伴可以看到在点击“下个月”或者其他导航月份的时候,主页的URL是始终没有变化的,说明该网页是动态加载的。之后对比多个网页请求,我们可以看到在“Request Payload”下边的数据包参数不断的发生变化,如下图所示。

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

6、展开服务器响应的数据,将数据放到JSON在线解析器里,如下图所示:

如何利用Python网络爬虫抓取微信朋友圈的动态(上)

可以看到朋友圈的数据存储在paras /data节点下。

至此,网页分析和数据的来源都已经确定好了,接下来将写程序,进行数据抓取,敬请期待下篇文章~~