爬取方式
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’,

app抓包于appium爬取数据相关推荐

  1. 四、小程序|App抓包(四)-Tcpdump抓取手机数据包分析

    小程序|App抓包(四) Tcpdump抓取手机数据包分析 一.环境需求: 1.手机需要root 2.电脑上安装SDK(建议安装android studio)也可单独安装SDk也行 下载地址 : ht ...

  2. python+appium爬取微信运动数据,并分析好友的日常步数情况

    python+appium爬取微信运动数据,并分析好友的日常步数情况 声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关 目录 python+appium爬取微信运动数据,并 ...

  3. python抓取数据时失败_爬取数据缺失的补坑,Python数据爬取的坑坑洼洼如何铲平...

    渣渣业余选手讲解,关于爬取数据缺失的补坑,一点点关于Python数据爬取的坑坑洼洼如何铲平,个人的一些心得体会,还有结合实例的数据缺失的补全,几点参考,仅供观赏,如有雷同,那肯定是我抄袭的! 在使用P ...

  4. 猫眼电影App抓包获取评论数据接口

      之前在CSDN程序人生公众号上看到了这篇文章<邪不压正>评分持续走低,上万条网友评论揭秘,是救救姜文还是救救观众?,文中提到了通过抓包猫眼App发现了评论的数据接口:http://m. ...

  5. 数据收集-抓包与反爬

    抓包与反爬 常见的反爬手段 反爬原因 反爬常见概念 反爬的三个方向 基于身份识别进行反爬 通过headers字段来反爬 通过请求参数来反爬 常见基于爬虫行为进行反爬 基于请求频率或总请求数量 根据爬取 ...

  6. 数据抓取 -- 使用代理IP爬取数据:(2):使用timeout 时要注意,防止数据加载不完整 ,导致爬取丢失(举例)

    问题: 在使用代理IP爬取数据的时候,经常会出现爬取的网址信息不完整的现象.其中有个原因就是timeout设置问题. 代码如下: import requests from bs4 import Bea ...

  7. 谷歌插件webscraper使用问疑难杂症(插件页面跑到右边+爬取内容乱序+自定义选择多个列表+滚动抓取社交发帖+select鼠标无法选中元素+无法识别表格+插件支持范围+爬取数据与原始顺序不一致+)

    博客目录 谷歌插件webscraper使用问疑难杂症解决 1.插件打开后跑到了右边 2.爬取内容乱序 3.mac的支持这个插件吗 4.除了谷歌外,火狐.IE.360等浏览器支持吗 5.自定义选择多个列 ...

  8. fiddler抓取特定主机(网址)和App抓包

    Fiddler抓取特定网址和App抓包 一.抓取特定网址 1.设置(特定地址) 2.出现的问题处理 二.app抓包 一.抓取特定网址 1.设置(特定地址) shift+F5去缓存刷新(可排除因缓存原因 ...

  9. python定时爬取数据_python实现scrapy爬虫每天定时抓取数据的示例代码

    1. 前言. 1.1. 需求背景. 每天抓取的是同一份商品的数据,用来做趋势分析. 要求每天都需要抓一份,也仅限抓取一份数据. 但是整个爬取数据的过程在时间上并不确定,受本地网络,代理速度,抓取数据量 ...

  10. python 12306查询不到车次_Python3.x 抓取12306车次信息,表格详情显示,让你学会思路,分析网站特点,爬取数据。12306车票查看器!...

    我的例子都比较适合新手,那种老司机请绕道,谢谢! ps 前言 最近学习Python,所以呢?跟大家一样,都是看看官网,看看教程,然后就准备搞一个小东西来试试,那么我使用的例子是实验楼中的12306火车 ...

最新文章

  1. mysql引擎机制_关于MySQL中的InnoDB引擎的MVCC机制的理解
  2. 修改Bugzilla的主页图片
  3. C语言 printf 函数 - C语言零基础入门教程
  4. swiper叠加轮播效果 (含源码) - 案例篇
  5. PATH与CLASSPATH的区别
  6. Java中内存泄漏八种情况的总结
  7. 3) Maven 目录结构
  8. python移植到stm32f205_Micropython学习(二)STM32移植
  9. 兄弟打印机打印时显示服务器内部错误,打印机出现内部错误无法打印什么原因...
  10. MATLB|电动汽车充放电的最优调度
  11. http://jingyan.baidu.com/article/a3761b2b66fe141577f9aa51.html
  12. 水生植物拉丁文及缩写
  13. 深度学习:欠拟合问题的几种解决方案
  14. python解密码编程_python生成密码本 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
  15. 英文字母的大小写转换
  16. 关于JS ES5的那些事,内容详细推荐收藏
  17. 罗技驱动要开机启动吗?要怎么设置?
  18. LaTeX 自定义图题:改变图片标题文字
  19. 名品链THBC缔盟之链
  20. face morphing

热门文章

  1. 书单|阿里、百度大咖联合强推的2018年必读好书清单
  2. 社区动态——恭喜海豚调度中国区用户组新晋 9 枚“社群管理员”
  3. 如何高效的完成每日的任务?
  4. Java opencv tld_TLD-(windows) tld c++版可运行版本,亲测. tld OpenCV 252万源代码下载- www.pudn.com...
  5. 前端学习第二课——基础1——基本标签
  6. 【团队管理】如何做好技术团队年终复盘
  7. mysql远程过程调用失败怎么办_远程过程调用失败且未执行是什么意思
  8. 人人商城之导出excel表
  9. Java学习-java中的与或非
  10. C++中的PIMPL和NVI