闲鱼网官方下载(闲鱼APP爬虫)

首页教程更新时间:2023-05-13 21:08:40

写在前面:实现闲鱼APP的特定关键字商品检索

实现思路:首先使用appium驱动app实现数据获取和订单生成,而后通过app抓包分析获取接口

1.appium实现

首先是搭建环境,此前进行工作时,搭建过环境,积累了一定经验,现总结如下

1.1前言知识

参考链接:http://www.testclass.net/appium/appium-base-summary/

appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。

“移动原生应用”是指那些用iOS或者 Android SDK 写的应用(Application简称app)。

“移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。

“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。

重要的是,appium是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。

appium类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON格式selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向。

appium客户端类库实现了Mobile JSON Wire Protocol(一个标准协议的官方扩展草稿)和W3C WebDriver spec(一个传输不可预知的自动化协议,该协议定义了MultiAction 接口)的元素。

appium服务端定义了官方协议的扩展,为appium 用户提供了方便的接口来执行各种设备动作,例如在测试过程中安装/卸载App。这就是为什么我们需要appium特定的客户端,而不是通用的Selenium 客户端。当然,appium 客户端类库只是增加了一些功能,而实际上这些功能就是简单的扩展了Selenium 客户端,所以他们仍然可以用来运行通用的Selenium会话。

闲鱼网官方下载,闲鱼APP爬虫(1)

1.2环境配置

1)安装Node.js,直接下载安装即可因为appium是基于node.js实现的,需要提前安装

下载链接如下:https://nodejs.org/zh-cn/

通过node -v 查看版本,确定是否安装成功

2)安装JDK,及配置环境变量

JDK为java开发环境,网上教程较多,可以参考如下链接:

https://blog.CSDN.net/qq_38125058/article/details/82890856

3)安装SDK,及配置环境变量

SDK时andriod开发的工具包,是安卓开发必备的,在appium测试中需要使用其中的一些资源程序,并配置环境变量以便调用

参考文章:https://zhuanlan.zhihu.com/p/49193525

下载链接:https://www.androiddevtools.cn/

下载界面如下:

闲鱼网官方下载,闲鱼APP爬虫(2)

注意下载后打开SDK Mansger.exe并安装资源库,注意安装与android版本一致的API

而后配置ANDROID_HOME环境变量为android-sdk文件夹

并添加

%ANDROID_HOME%\tools

%ANDROID_HOME%\platform-tools

输入adb version测试

闲鱼网官方下载,闲鱼APP爬虫(3)

4)安装Appium桌面版本

下载链接:http://appium.io/

最新版appium没有appium-doctor程序进行检查,可以通过nodejs下载,进行检查是否配置成功

闲鱼网官方下载,闲鱼APP爬虫(4)

1.3开始测试

使用python进行测试,首选需要安装python的appium-python-client库

首先打开雷电模拟器,使用adb devices查看是否连接成功

成功后,启动appium,运行python程序

# 导入webdriver

from appium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

import time

# 初始化参数

desired_caps = {

'platformName': 'Android', # 被测手机是安卓

'platformVersion': '5.1.1', # 手机安卓版本

'deviceName': 'emulator-5554', # 设备名,安卓手机可以随意填写

'appPackage': 'com.taobao.idlefish', # 启动APP Package名称

'appActivity': 'com.taobao.fleamarket.home.activity.MainActivity', # 启动Activity名称

'noReset': True, # 不要重置App,如果为False的话,执行完脚本后,app的数据会清空,比如你原本登录了,执行完脚本后就退出登录了

}

# 连接Appium Server,初始化自动化环境

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

wait = WebDriverWait(driver, 30)

search_entry = wait.until(EC.presence_of_element_located((By.ID, 'com.taobao.idlefish:id/search_bar_layout')))

search_entry.click()

search_name = wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'android.widget.EditText')))

search_name.set_text('redmik30')

search_button = wait.until(EC.presence_of_element_located((By.XPATH, "//*[@text='搜索']")))

search_button.click()

wait.until(EC.presence_of_element_located((By.CLASS_NAME, "android.widget.ScrollView")))

# time.sleep(10)

while True:

driver.swipe(500, 1900, 500, 300, 300)

items = wait.until(EC.presence_of_all_elements_located((By.XPATH, "//*[@class='android.widget.ScrollView']/android.view.View")))

for item in items:

print(item)

由于前期没有android基础,对于desired_caps参数不了解,走了很多弯路

appPackage和appActivity通过adb命令可查看

通过命令:adb shell dumpsys window w |findstr \/ |findstr name=查看相关属性

闲鱼网官方下载,闲鱼APP爬虫(5)

2.APP抓包分析

2.1使用代理抓包

通过fildder代理抓包,开始fildder后,在雷电模拟器设置系统代理

经测试浏览器流量成功被代理、但app流量代理失效

经过查阅资料治app自动忽略系统代理,通过下载全局代理软件proxyDroid实现全局代理,进而绕过

下载链接如下:https://download.csdn.net/download/weixin_43906500/16634072

成功获取数据包

2.2分析接口

查看请求,发现闲鱼搜索请求参数存在加密,难以分析,如果要进行后续分析需要学习安卓逆向知识,进行源码分析

————————————————

版权声明:本文为CSDN博主「金鳞本鲤」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_43906500/article/details/115623201

,
图文教程
相关文章
热门专题
推荐软件
奇热小说
奇热小说
下载
QQ2019手机版
QQ2019手机版
下载
王者荣耀
王者荣耀
下载
百度浏览器迷你版
百度浏览器迷你版
下载
2345浏览器手机版
2345浏览器手机版
下载
网易邮箱
网易邮箱
下载
爱奇艺
爱奇艺
下载
网易云音乐
网易云音乐
下载
WPSOffice
WPSOffice
下载
优酷
优酷
下载
谷歌浏览器(Chrome)
谷歌浏览器(Chrome)
下载
迅雷看看播放器
迅雷看看播放器
下载
UC浏览器
UC浏览器
下载
QQ音乐
QQ音乐
下载
阿里旺旺买家版v9.12.10C官方版
阿里旺旺买家版v9.12.10C官方版
下载
360安全卫士v12.1官方版
360安全卫士v12.1官方版
下载
猜你喜欢
一起小学学生端
一起小学学生端
下载
口袋课堂
口袋课堂
下载
昆山智慧云教育消息中心v2.1.3.1官方版
昆山智慧云教育消息中心v2.1.3.1官方版
下载
放置建筑工程车
放置建筑工程车
下载
史前钓大鱼
史前钓大鱼
下载
黄山土特产平台
黄山土特产平台
下载
我的世界卡通武器MOD1.7.2/1.7.10
我的世界卡通武器MOD1.7.2/1.7.10
下载
杭州吃喝玩乐网
杭州吃喝玩乐网
下载
玲珑剑域
玲珑剑域
下载
灌篮高手电脑版
灌篮高手电脑版
下载
Planit巧摄中国版
Planit巧摄中国版
下载
好投顾
好投顾
下载
呆呆校淘
呆呆校淘
下载
惊魂兽人
惊魂兽人
下载
ZUKZ2懒人刷机工具箱
ZUKZ2懒人刷机工具箱
下载
正当防卫3火箭船增强mod
正当防卫3火箭船增强mod
下载