文章目录

  • 前言
  • 开始动手
    • 安装
    • 实现
    • 代码
    • 注意
  • 最后

前言

首先祝大家新年快乐,新的一年都能实现自己的梦想
最近在家无聊,那就找点灵魂伴侣?和大多人一样,玩玩探探。(我承认我就是渣男)今天突发奇想,能不能爬取探探的数据呢?搜了一下貌似都没有相关的内容,然后试着用Fiddler抓包试试,但是很不幸无法抓到任何数据。于是我就想着用点测试框架试试,所以我选择了Airtest

开始动手

安装

一开始,当然是安装Airtest 下载地址
从这里下载就好,然后打开文件夹中的.exe文件,运行AirtestIDE
其实可以看出这个应该是python写的,用Qt做的GUI
我也是第一次用,所以第一步当然是查看一下文档
文档链接
有可能还是不懂,那就搜一些博客,其实我觉得这个框架已经做的比较容易上手了。

实现

  • 打开app
  • 得到相应信息
  • 保存图片
  • 翻页
  • 结束,存储所有信息

读过文档就知道,touch就可以实现很多操作,那我们打开app的操作就选择touch就好。因为它会自动识别你所选择图片的位置进行点击,所以尽量选的准确一点,相应的目录下也会保存有你选择的图片。

然后选择元素的话调用poco就好,你可以在IDE左边的元素树中查找到想要的元素,直接复制路径就好,也十分简单


可以在左边的元素树中查找到相应的元素

至于保存照片的操作,一开始我也是获取元素准备保存的,但是貌似不是特别方便,于是直接调用它提供的截图来保存。这些都结束就可以翻页了,翻页也是使用它提供的翻页操作,参数就是点击的位置,以及如何翻页(翻页方向)。我们的目的是爬取信息,而且对于喜欢次数有限制,我就选择一律左滑。

代码

from airtest.core.api import *from airtest.aircv import *auto_setup(__file__)
import pandas as pd
import time
names=[]
ages=[]
zodiacs=[]
locations=[]from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
touch(Template(r"tpl1613034194569.png", record_pos=(0.395, 0.619), resolution=(1080, 2316)))
#爬取人数
for i in range(30):time.sleep(1)name=poco(name=r"com.p1.mobile.putong:id/name").get_text()age=poco(name=r"com.p1.mobile.putong:id/age").get_text()zodiac=poco(name=r"com.p1.mobile.putong:id/zodiac").get_text()location=poco(name=r"com.p1.mobile.putong.core:id/details").get_text()names.append(name)ages.append(age)zodiacs.append(zodiac)locations.append(location)snapshot(filename="D:/tantan/images/{}.png".format(name),msg="test",quality=90, max_size=600)swipe(v1=(480,986), vector=[-0.6039, 0.0573])df=pd.DataFrame({'姓名':names,'年龄':ages,'星座':zodiacs,'位置':locations})
df.to_csv('D:/tantan/df.csv')

注意

首先,连接手机的时候需要安装两个软件,同意安装就好。此外我引入了pandas,也就是说没有使用Airtest自带的环境,而是使用我自己的python环境,所以我们要在自己的环境中安装airtest和poco,因为这个框架基本就是基于poco实现的,然后更改IDE中的python环境。
点击选项—>设置

另外,这个相应的文件夹要创建好,不然图片保存路径找不到会报错。然后打开app的地方也可以选择start_app而不是点击打开,不过这就体现不出框架的人性化了不是嘛?

最后

实现效果如下

我是用打游戏的安卓手机做的,苹果上面没下探探,不过改起来也简单,将

这里的安卓改为苹果就好。



可能会涉及隐私,所以打个码。另外和之前刷抖音一样,可以调用百度api对照片颜值进行打分,然后筛选出喜欢的。

再进阶一点,如果想和更多的小姐姐聊天,那就可以设计一个互关功能,大致逻辑一样,只不过每一页多一次点击图像,然后查看是否有个人相册,如果有点击个人相册,然后点击关注再返回翻页。点击和判断存在的功能Airtest都有提供函数,所以我就不实现了。

更离谱的就是逆向反编译探探,直接得到请求接口,破译参数,不过这个恐怕就要进去吧,所以劝大家还是要讲武德,点到为止。

寂寞了吗?来用python做点好玩的事相关推荐

  1. python 还原九宫格图片_用Python做一个好玩的朋友圈九宫格抽奖

    最近在朋友圈看到个好玩的抽奖九宫格: 随便点开一个: 设计思路 以朋友圈中看到的1号图做参考,我们需要准备 300*900 的白色底图,搞笑表情图,广告语,中间一个醒目的数字编号,外加下方的嘲讽&qu ...

  2. 用Python做一个好玩的朋友圈九宫格抽奖

    最近在朋友圈看到个好玩的抽奖九宫格: 随便点开一个: 哈哈,笑出猪叫!这个玩法利用了朋友圈发长图会显示中间局部的设定,搞笑之余也为朋友圈广告营销贡献了新思路. 制作图的过程也不复杂,长图对应部分设计好 ...

  3. python社团宣传语_用Python做一个好玩的朋友圈九宫格抽奖

    最近在朋友圈看到个好玩的抽奖九宫格: 随便点开一个: 设计思路 以朋友圈中看到的1号图做参考,我们需要准备 300*900 的白色底图,搞笑表情图,广告语,中间一个醒目的数字编号,外加下方的嘲讽&qu ...

  4. 中秋假期,回不了家的程序员,竟然用Python做了这件事...

    文 | 乌鸦 来源:Python 技术「ID: pythonall」 明月几时有,难得的中秋假期,很多码农兄弟经历疫情后终于有机会和家人团聚,也有不少兄弟因为各种原因在他乡度过假期. 无论是怎样的情感 ...

  5. 用python做一个好玩的数字炸弹游戏

    首先我们要先了解原理:生成一个1-100之间的随机数,玩家和电脑轮流猜炸弹数字,比如炸弹数字是50,玩家猜的数字为30,炸弹的范围就会定在30-100,,以此类推,一直到玩家或者电脑猜到了炸弹后,游戏 ...

  6. 用python可以做什么有趣的事情_用python做一些有趣的事(一)——根据照片制作版画...

    # -*- coding:utf-8 -*- # 生成字符画 from PIL import Image import argparse # 命令行输入参数处理 parser = argparse.A ...

  7. 如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...

  8. 如何用Python做三阶拼图?

    作者 | Ahab 来源 | Ahab杂货铺(ID:AhabBin) 今天是年假的最后一天,明天大家就要回到各自的工作岗位上去,公众号从今天开始恢复更新.不知道大家假期过得怎么样,帅张提到假期多关注一 ...

  9. 来自程序员的福利!用Python做一款翻译软件

    来源 | Ahab杂货铺(ID:PythonLearningCamp) 前两天吃了平哥的一波狗粮,他给女朋友写了一个翻译软件,自己真真切切的感受到了程序员的浪漫.在学习requests请求的时候做过类 ...

最新文章

  1. (深入理解)强化学习中on policy和off policy的区别
  2. svm分类代码_当支持向量机遇上神经网络:SVM、GAN距离之间的关系
  3. C++中虚函数、虚指针和虚表详解
  4. 【Python】编程笔记4
  5. 紫书搜索 习题7-8 UVA - 12107 Digit Puzzle IDA*迭代加深搜索
  6. 神经网络中常用的激活函数
  7. 04-树7 二叉搜索树的操作集(c语言实现)
  8. Android 获取天气数据
  9. docker rabbitmq:3.9.10-management
  10. 速看!上班后如何做好防护?这9点一定要知道
  11. 重磅!2018人脸识别研究报告(附全文下载)
  12. 卡尔曼滤波对gps轨迹数据清洗_基于GPS的智能交通系统车辆定位精度提升技术
  13. ExecutorService--线程池
  14. Web服务器常用设置
  15. python贪吃蛇游戏无法运行_Python贪吃蛇游戏编写代码
  16. 表单 HTML 模拟登陆界面
  17. zotero+坚果云同步
  18. 个人学习无人驾驶的路线
  19. 【抓包】【Mac Charles】局域网无法抓包 手机热点来解决
  20. 笔记本Ubuntu安装失败的一般原因

热门文章

  1. python爬取天极网手机信息代码
  2. wordpress主题免费- wordpress插件以及主题下载
  3. React-router 嵌套路由传值(render和children)
  4. 第十二章 软件壳(三)(动态加载型壳)
  5. MGC Group大公司已布局区块链食品供应链技术领域
  6. 马云点了人类史上最贵“外卖”,又一场“三国杀”即将来临?
  7. c语言Dvv实验报告,自考高等数学(工本)考试重点复习难点.pdf
  8. saprk 提交远程作业_如何准备远程作业搜索
  9. Android查询通讯录信息
  10. 了解一个人最好的方式就是和他(她)去旅行,