最近朋友炒鞋子,要抓取毒上的历史购买数据做参考。H5的页面跟app不一样,正好少了历史购买数据这块,只好通过APP来想办法了。下面是基于app操作的思路。

 

毒的2个主要页面,通过adb命令可获取。

usb连接手机后,打开毒app相关的页面,在电脑上执行:

adb shell "dumpsys window | grep mCurrentFocus"

获取2个主要activity界面:

产品详细页: com.shizhuang.duapp/com.shizhuang.duapp.modules.product.ui.activity.ProductDetailActivity

历史售价页:com.shizhuang.duapp/com.shizhuang.duapp.modules.product.ui.activity.SoldListActivity

先用fiddler截获的了试试,得到了获取历史购买数据的API,如下:

https://app.poizon.com/api/v1/app/product/ice/lastSoldList?X-Auth-Token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

直接用这个api带参数试了试,结果显示提示“签名认证出错”。通过jadx反编译了apk文件,涉及太多token和sign,太复杂,改用识别截图方式进行。

首先把app打开到商品列表页面,如下:

采用“adb shell /system/bin/screencap -p /sdcard/screenshot.png“和”adb pull /sdcard/screenshot.png e:\temp“把上图截屏到电脑上,然后通过windows的图画打开,确定商品点击区域的像素坐标,比如(350,420)是第一列第一排的商品坐标。

采用“adb shell input tap 350 420”,模拟点击,打开商品详情页,历史价格不在第一屏。

采用“adb shell input swipe 250 900 300 200”往上滑动,再截屏如下,看到了最近购买:

采用“adb shell input tap 1000 1200”,模拟点击“最近购买”后“全部”所在区域,进入历史购买列表页。

再进行截屏保存到电脑指定目录,然后通过

“tesseract screenshot.png scre -l chi_sim“进行ocr处理,把图片上的文字识别出来,保存到sre文本文件中

内容如下:

Air Jordan 1 Mid 丝 绸 伯 爵

,dx8 42.5 码 #1099 2 分 钟 前

导 肖 *9 43 码 #1099 2 分 钟 前

刑 买 *J 40.5 码 #1219 7 分 钟 前

勇 大 *g 43 码 #1099 20 分 钟 前

雷 文 <z 43 码 #1089 23 分 钟 前

惧 蔚 * 一 41 码 #1199 24 分 钟 前

象 a:5 42.5 码 #1099 25 分 钟 前

凶 绅 *a 40.5 码 #1219 27 分 钟 前

回 年 * 酒 44 码 #989 31 分 钟 前

弗 国 * 霖 41 码 #1199 32 分 钟 前

回 年 * 酒 44 码 #989 38 分 钟 前

园 dxc 40.5 码 #1249 46 分 钟 前

畹 爱 *P 42.5 码 #1099 51 分 钟 前

霁 n*xz 42 码 #1149 58 分 钟 前

主要的历史价格内容都识别出来,文本内容就比较好处理了。

Logo

加入「COC·上海城市开发者社区」,成就更好的自己!

更多推荐