app抓包于appium爬取数据

爬取方式
Pc:1、找数据接口,用requests 2.selenium自动化工具爬虫
App:1、找到数据接口,fiddier工具,2.appium类似selenium,速度很慢 脱壳

模拟器安装与启动
双击软件-自动安装-桌面(夜神模拟器,模拟器助手)–点击模拟器助手–点击多开管理–添加模拟器–创建5.几的版本–设置–手机版本

模拟器安装app
安装方式有两种
1、直接拖拽:将apk文件直接过进去,会直接进行安装,卸载,鼠标左键点击按下不放,出现卸载的小框,点击卸载选项
2、通过adb安装:类似pip
1)设置环境变量:右击野生模拟器-打开文件安装位置–复制路径–将路径添加到环境变量里面–如果安装不成功,要打开设置里的usb调试打开重启模拟器
2)终端,进入软件目录–输入安装命令–abd install 当当.apk(如果安装不成功,进入模拟器–设置–关于平板电脑–版本号一直用鼠标点击–知道打开开发者模式–开发者选项–调试–usb调试–确定–重启模拟器–然后去终端安装)
——————————————————————————————————————
有的反爬是针对模拟器的,我们后续可以使用真机的
1、打开模拟器助手
2、菜单栏有个多开管理,点击
3、点击添加模拟器
4、选着5的
5、下载好之后点设置
6、然后将分辨率,平板的改为手机的

模拟器安装app
安装方式有两种
1、直接拖拽,需要时apk文件,会直接安装
2、Adb安装
3、D:\program files\Nox\bin
4、在你apk文件位置处cmd然后abd install xx的apk
5、如果安装不成功需要把进入开发者工具,将usb调试打开
6、
Fiddler的使用
这个软件的左下角有一个开始capturing是开始抓包的意思
然后菜单栏下面那一栏有一个x,第一个是清空列表

Fiddler的配置
1、菜单栏tools下options里的HTTPS按顺序打两个对钩
2、然后还要安装一些证书右上角有一个actions点击里面的第一个
3、点击第一个,open是查看
4、然后connections第二个打上,点ok并重启
模拟器配置,需要设置手动代理ip代理ip地址是你本机ip
其次要关掉浏览器的显示安全警告,就是设置,隐私和安全里的
然后再浏览器中输入http://192.168.10.105:8888/点击第二个下载证书
菜单栏file下有一个save是保存当前会话的意思,然后

如何下载app就是apk的软件,要在豌豆荚里搜索,下载时要把那个勾去掉在下载
案例实现
需求:爬取书名,作者,出版社,好评率,价格
1、确定目标url:
url = ‘http://mapi7.dangdang.com/index.php?page_version=new2&passback=9c9d177bc78ad2eb898b1c63fe01000002fa6800898b1c63&access-token=&time_code=8659311f70124fd4ff40cfba04a2a42f&img_size=e&client_version=10.12.4&pageSize=10&union_id=537-100998&timestamp=1662815118&province_id=111&permanent_id=20220910204335789710733903952433331&a=all-search&global_province_id=111&page_action=search&isKeepTrace=1&c=search&sort_type=default_0&keyword=%E7%88%AC%E8%99%AB&udid=efabdcb8027c1acdfc9ebd5e7ee1be0e&user_client=android&page=2’
2、响应结果是json格式的数据
3、Page参数,keyword搜索关键字

如果fiddler抓包抓不到,那就是出现反爬了,不能用来,这时要用aapium了
Appium
安装依赖软件
1、nodejs(已经安装好了)
2、Java的sdk ,默认安装就好了
C:\Program Files\Java\jdk1.8.0_211
需要进入环境系统变量,然后新建,变量名输入,JAVA_HOME,路径微商
还要新建 CLASS_PATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
在然后path添加 %JAVA_HOME%\bin
再然后cmd下输入C:\Users\86152>java -version
出现对应版本好就可以了
4、python模块pip install appium-python-client==1.2.0
5、安装配置androidsdk环境配置,配置方法
https://www.yuque.com/docs/share/210d79fc-c1a5-407f-81cc-3b3b64d567ed?#
1)将老师给的文件,一下来最好移到D盘
2)新建变量名:ANDROID_HOME 变量值:D:\androidask
3)编辑系统环境的Path添加%ANDROID_HOME%\platform-tools
和%ANDROID_HOME%\tools
4)验证是否配置成功,打开终端,输入adb,出来一大堆就是了
Appium是类似于selenium的软件
Appium是可以去控制手机的
Appium启动app,启动方式有两种
1)使用appium的内置驱动打开app
2)Python代码打开app
这两种方法都需要启动服务器
其中fiddler模拟器不能和appium模拟器搞混
1、还是要打开开发者模式的USB呢
2、Cmd输入这个C:\Users\86152>adb devices -l 查看是否链接到
from appium import webdriver

caps = dict()

配置连接的参数

caps[‘platformName’] = ‘Android’

手机安卓版本(模拟器-设置-关于平板)

caps[‘platformVersion’] = ‘5.1.1’

设备名字

caps[‘deviceName’] = ‘Android’

操作的包名

caps[‘appPackage’] = ‘com.android.browser’

界面名

caps[‘appActivity’] = ‘.BrowserActivity’

有需要设置中文的,设置为True

caps[‘unicodeKeyboard’] = True

恢复原来的输入法,设置为True

caps[‘resetKeyboard’] = True

如果需要重置app状态,设置为True

caps[‘noReset’] = True
caps[‘newCommandTimeout’] = 6000
caps[‘automationName’] = ‘UiAutomator1’

连接设备,加载驱动

driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, caps)

打开对应的网站

driver.get(‘https://www.baidu.com/’)

D:\androidsdk\tools\bin
下有一个uiautormatorviewer双击打开,打开这个界面之后点第二个图标

定位值appium

然后点击另存为
做一个回车的操作
from appium.webdriver.extensions.android.nativekey import AndroidKey
driver.press_keycode(AndroidKey.ENTER) #做一个回车的操作
鼠标滑动
界面有限,鼠标滑动,获取更多的数据
1、从一个元素滑动到另一个元素
2、从一个位置滑动到另外一个位置
1、从一个元素滑动到另外一个元素
鼠标方向是向上滑动,界面加载是往下的
1、对设置界面的元素进行一个操作(打开设置界面,首先知道包名和界面名)
2、 C:\Users\86152>adb shell dumpsys window windows | findstr mFocusedApp
查看界面名与包名,斜杠前为后者,斜杠后为前者
苏宁案例
打开苏宁app-搜索某一个商品-点击搜索按钮-爬取商品的名字,基本属性,核心属性,价格,店铺名称
滑动
从一个位置滑到另一个位置
driver.swipe(width, hight, width, hight)前者滑动到后者

获取屏幕的高度,宽度

window_size = self.driver.get_window_size() # 返回字典类型
self.height, self.width = window_size.get(‘height’), window_size.get(‘width’)
扩展.获取界面名
D:\python项目2>adb shell dumpsys activity activities
d/.LauncherActivity}
mActivityComponent=com.tencent.weread/.LauncherActivity
获取包名,与界面名
D:\python项目2>adb shell dumpsys window windows | findstr mFocusedApp
如果连接真机需要修改
‘ANDROID_UIAUTOMATOR’:‘uiautomator2’,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值