专栏首页折腾折腾再折腾python爬虫之app爬取

python爬虫之app爬取

无论是风里,还是在雨里,我都在这里守候着你~

前言:如果你以为python只可以爬取web网页,那就大错特错了,本篇文章教你如何爬取手机app的信息。

Charles(抓包工具)的安装(windows版)。

1.1下载

由于是收费软件,这里给大家一个链接,自行下载。(windows版本),如果是其他系统还是去官网吧。https://www.charlesproxy.com

windows版:

https://pan.baidu.com/s/1bi8Qv3so9NXQPhURcznNNA?提取码:1kb9

1.2安装证书

由于现在的网站基本全都是https通信协议,所以我们需要配置SSL证书。

下载完成后打开软件。点击help-->SSL Proxying-->install Charles Root Centificate。

在弹出的安装证书页面,点击安装证书,点下一步,选择证书的存储区域,下一步,选择将所有的证书都放如下列存储,浏览,受信任的根证书颁发机构,确定,下一个,是,安装完成!。

1.3手机安装证书。(Android)

在pc端的Charles中查看代理是否开启。Proxy-->Proxy Settings。查看HTTP Proxy 是否开启,没有开启的点击 Enable transparent HTTP proxying,点击ok即可。

手机和电脑连同一个wifi,查看一下电脑的ip地址。我的是192.168.1.17。打开手机的wifi,连上wifi,代理,手动,主机名填写ip地址,也就是192.168.1.17.默认端口欧为8888,电脑上会弹出一个是否信任的窗口,点击Allow即可。

手机端在浏览器(不要用原装浏览器)中打开chls.pro/ssl 会弹出一个下载页面,下载即可。

1.4体验一下Charles

点一下左侧的扫把,清空,开启监听,即左侧第二个按钮。手机打开qq,打开列表一直划,会看到左侧出现了很多求情,遗憾的是只能看到好友的头像,其他内容都加密了。捕捉到信息后点击一下,再点击右边的Contents,可以看下返回的数据,json,jsontext 等等,捕捉到的信息足够我们分析页面就好了。可以自己动手体验一下。

Appium的安装

appium是什么?和selenium很像,一个在pc端,一个在手机端而已。

appium下载地址:https://github.com/appium/appium-desktop/releases

Android Studio下载地址:https://developer.android.com/studio/index.html?hl=zh-cn(需要科(翻)学(墙)上王)

我们还需要安装java环境。和nodejs,这些直接百度下载,安装即可,需要配置好环境变量。

appium的使用

安装好所有的配置环境后。我们打开appium、会看到这个页面。

我们直接点击 Start Server 即可。注意,appium使用的前提是需要android sdk和 java环境。

如果没有配置好,后面运行是会报错的,出现错误可以后台直接回复,看到会第一时间回复。

点击之后我们进入到这个页面:

我们点击右上角第一个像搜索的按钮,创建一个新的Session,会出现:

此时我们需要将我们的Android手机用数据线和电脑连接,并且把手机的use调试功能打开。

我们可以输入dos命令,查看手机是否已经连接并开启了usb调试功能。adb devices -l 会看到:

表示手机连接成功,如果没有出现,说明可能手机没有开启usb调试功能。model 表示手机型号.

接下来,我们在新创建的Session中写点配置,实现自动打开微信页面。

"platformName": "Android",

"deviceName": "MI_6",

"appPackage": "com.tencent.mm",

"appActivity": ".ui.LauncherUI"

platformName:平台名称,我们的是Android。

deviceName:手机型号。

appPackage:微信的包名。

appActivity:微信的入口。

点击Save, 再点击Start Session,会看到如下页面。

找到我们的登录按钮,点击一下右侧Tab,即可进入登录页面:

同样的,我们定位到手机号按钮,点击右侧的Send keys, 即可:

点击Send keys 即可同步。

如果要生成对应的python代码,可以这样:

点击最上方第三个录制按钮,再点一下Tab,在Recorder选择python即可。

用python操控app

3.1、打开微信

这样即可达到打开微信的操作。

3.2、点击登录输入电话号码

这里需要有selenium的基础和解析库的基础,不知道的可以看下:连接1,连接2

3.3、获取微信按钮的id

4、其他操作

上一个示例已经完成初始化desired capabilities,定位到元素,点击,文本输入操作操作。

4.1、屏幕滚动操作

scroll('被操控元素','目标元素')

4.2、利用坐标滚动

swipe(start_x,start_y,end_x,end_y,duration = None)

start_x:起始坐标横坐标。

start_y:起始坐标纵坐标。

end_x:结束坐标横坐标。

end_y:结束坐标纵坐标。

duration:点击的持续时间。

还有一个方法没有持续时间,直接快速滑倒该位置。

flick(start_x,start_y,end_x,end_y)

4.3、拖拽操作

drag_and_drop('被拖拽元素','拖拽到的目标元素')

完。

下节会模拟爬取下朋友圈。最后送大家一个大礼包。

后台回复大礼包获取。

本文分享自微信公众号 - python入门到放弃(python_xuexi),作者:小新python入门到放弃

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql数据库安装

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一。简而言...

    不断折腾
  • Django简单实例

    可以点击我们的web开发一班,进入之后连接变为127.0.0.1:8000/calssinfo/1

    不断折腾
  • Python面试简历分享。

    分享前一段我的python面试简历,自我介绍这些根据你自己的来写就行,这里着重分享下我的项目经验、公司职责情况(时间倒序),不一定对每个人适用,但是有适合你的点...

    不断折腾
  • 用pycharm运行django项目

    py3study
  • Charles获取手机HTTPS请求

    在接口测试中,特别是对移动产品的测试,经常要争取APP端的请求来和开发沟通,目前基本都是使用的是HTTPS(超文本传输安全协议)。这里详细的讲下使用...

    无涯WuYa
  • Charles获取手机HTTPS请求

    在接口测试中,特别是对移动产品的测试,经常要争取APP端的请求来和开发沟通,目前基本都是使用的是HTTPS(超文本传输安全协议)。这里详细的讲下使用Ch...

    Criss@陈磊
  • Linux CentOS 7 安装教程

    3.选中【VMware-workstation-full-14.0.0.24051】鼠标右击选择【以管理员身份运行】。

    JiekeXu之路
  • 虚拟机Linux Ubuntu安装教程

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工...

    Erwin
  • SourceTree安装(小白特别详细教程)

    首先,下载SourceTree,谷歌搜索SourceTree,第一第二个就是下载网址。

    王小婷
  • Linux RHEL安装教程

    3.选中【VMware-workstation-full-14.0.0.24051】鼠标右击选择【以管理员身份运行】。

    JiekeXu之路

扫码关注云+社区

领取腾讯云代金券