网络爬虫 - App爬虫及代理的使用(十一)

news2025/6/5 23:02:27

App爬虫及代理的使用

  • 一、App抓包
    • 1. App爬虫原理
    • 2. reqable的安装与配置
      • 1. reqable安装教程
      • 2. reqable的配置
    • 3. 模拟器的安装与配置
      • 1. 夜神模拟器的安装
      • 2. 夜神模拟器的配置
    • 4. 内联调试及注意事项
      • 1. 软件启动顺序
      • 2. 开启抓包功能
      • 3. reqable面板功能
      • 4. 夜神模拟器设置项
      • 5. 注意事项
    • 5. Requable代理浏览器网络
      • 1. 配置浏览器代理
      • 2. Requable配置浏览器代理
  • 二、代理的使用
    • 1. 付费代理
      • 1. 找付费代理服务站点
      • 2. 生成获取代理的api接口
      • 3. python请求接口
      • 4. 代理使用注意事项
    • 2. 免费代理
      • 1. 代理池设计
      • 2. Redis数据库
        • 1. Redis是什么?
        • 2. Redis应用场景
        • 3. Redis安装
        • 4. Redis数据库有序集合操作
      • 3. 代理池实现
        • 1. 采集模块
        • 2. 存储模块
        • 3. 检测模块
        • 4. web接口
        • 5. 调度模块
        • 6. 配置文档
    • 总结:


一、App抓包

1. App爬虫原理

Application(以下称App)主要指安装在智能手机上的应用程序。APP 运行在相应的操作系统上,如苹果公司的 iOS 系统或谷歌公司的 Android 系统。

App 和网站都是 Web 应用,它们与服务器通信时使用的协议是相同的。

与网站不同的是,App 的网络传输和数据收发相对隐蔽,用户既无法直接查看客户端发出的请求信息和服务器端返回的响应内容,也无法直接查看 App 的代码。

为了能像使用浏览器开发者工具一样对APP数据进行抓包,就必须先要一个能够对app数据进行抓取的开发者工具。
在这里插入图片描述

2. reqable的安装与配置

reqable是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 。它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

看到这么多的应用,是不是就迫不及待的想要开始你的抓包之旅呢,不要急,俗话说的好:工欲善其事,必先利其器,我们先来安装reqable吧。

官网下载地址:https://reqable.com/
在这里插入图片描述

1. reqable安装教程

● 安装教程如下:
(1)双击安装包,如下所示,选择想要存放的目录,如果不需要修改,使用默认的即可,然后点击Next:
在这里插入图片描述
(2)会出现以下界面,继续点击Next
在这里插入图片描述
(3)点击Install,等待几秒即可安装
在这里插入图片描述
(4)安装后双击运行,如下所示到这里我们就初步安装成功了
在这里插入图片描述

2. reqable的配置

如果想要对手机上的app进行抓包怎么办呢,那么你还需要进行以下操作:

  • 首先你的Fiddler所在的电脑和手机必须处在同一个局域网内(即连着同一个路由器)。
  • 其次需要修改reqable监听的ip和端口号,如下所示:
    在这里插入图片描述

这个ip和端口号就是手机app设置的代理,后续在手机端我们会设置

最后就是需要配置证书,没有证书就会导致手机没网络。配置证书在本教程中需要配置到模拟器,后续在配置模拟器的再详细介绍。证书配置的教程在reqable中也有教程,具体参照:安装教程

3. 模拟器的安装与配置

为了能像使用浏览器开发者工具一样对APP数据进行抓包,就必须要一个能运行APP的环境。目前主流的是使用模拟器进行抓包,原因有以下几点:

  • Android8.0 以上安卓系统有些数据抓取不到
  • 模拟器环境配置相对简单,容易root之后获取更高的权限

当然也可以选择使用真机进行调试。但是实际采用真机会有很多不必要的麻烦,必须重做系统、获取root权限多多少少会影响到正常的使用,如果专门购买一个真机专门用于app调试,也免不了要多踩很多坑(国内的厂商都有自己的优化,并且手机型号、系统版本等等都会影响到调试)。

1. 夜神模拟器的安装

● 官网下载地址:https://www.yeshen.com/
在这里插入图片描述
● 双击安装包,选择安装路径,点击安装即可:
在这里插入图片描述

2. 夜神模拟器的配置

安装高版本安卓系统
● 目前许多app应用对低版本的安卓系统会有不兼容的情况。所以建议在夜深模拟器中安装安卓9的系统版本
『使用模拟器助手,即可选择系统版本安装』
在这里插入图片描述
配置代理
● 在系统页面中找到 工具 中找到 设置,在设置页面下拉找到网络和互联网点击
在这里插入图片描述
在这里插入图片描述
● 点击 WLAN
在这里插入图片描述

● 点击 编辑 按钮
在这里插入图片描述

● 点击 设置 按钮
在这里插入图片描述

● 点击 高级选项 下拉按钮
在这里插入图片描述

● 代理模式选择 手动,填写代理服务器主机名代理服务器端口,点击保存
在这里插入图片描述
注意:reqable中显示监听的ip和端口是什么,那么在这里就填写什么

配置证书
Android 7.0之后默认不相信用户自己安装的证书,这样一来抓包工具就无法抓取https加密的报文,这种情况下解决办法只有两个,一个是不用android7.0以上的设备,还有一个方法就是安装系统的根证书。接下来我们来看看如何安装系统的根证书。

● 配置 ADB
ADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。

ADB 也是 Android SDK 中的一个工具,可以直接操作管理 Android 模拟器或者真实的 Android设备。
(1)Google很好心,直接放出ADB的zip供人下载。路径如下:
Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac版本:https://googledownloads.cn/android/repository/platform-tools-latest-darwin.zip
Linux版本:https://dl.google.com/android/repository/platform-tools-latest-linux.zip

(2)配置 ADB系统环境变量
ADB 压缩包解压到指定目录后,把解压路径放到系统变量里去(Path)
在这里插入图片描述
(3)电脑打开cmd窗口,输入 adb version ,显示 adb 版本,说明安装成功
在这里插入图片描述

● 使用 ADB 操作证书移动以及权限的修改
(1)在 Reqable 中下载证书,每台电脑下载的文件名字会不一样
在这里插入图片描述
(2)打开CMD操作证书的移动及权限的修改
要启动夜神模拟器操作、关掉退出杀毒软件等
① 用 ADB 指令先连接模拟器

adb devices
在这里插入图片描述

注意!!!注意!!!注意!!!
连接为空,可以使用端口连接夜神模拟器

adb connect 127.0.0.1:62001

在这里插入图片描述

(3) 将下载好的证书移动到模拟器安卓系统根路径 / 下

① 首先要进入模拟器安卓系统修改文件目录权限

adb shell

在这里插入图片描述
② 修改根目录和system目录权限可读可写

mount -o rw,remount /
mount -o rw,remount /system

在这里插入图片描述
③ 输入 exit 退出模拟器安卓系统终端

exit

在这里插入图片描述
④ 将证书从windows系统移动到模拟器安卓系统下

格式:adb push 证书路径 存放在模拟器路径
adb push 证书路径 /system/etc/security/cacerts/

在这里插入图片描述

⑤ 再次进入模拟器安卓终端,修改证书权限

chmod 644 /system/etc/security/cacerts/证书文件名

在这里插入图片描述
至此为止, 证书安装成功, 需要重启模拟器生效

● 查看证书是否安装到系统证书

手机进入:设置–>安全性和位置信息–>加密与凭据–>信任的凭据–>系统

在这里插入图片描述

4. 内联调试及注意事项

1. 软件启动顺序

因为在模拟器中配置了代理服务器主机名和代理服务器端口,对应的就是reqable监听的ip和端口,所有的模拟器网关都会走这里。因此当我们单独启动模拟器的时候是没有网络的。

所以每次软件的启动的顺序如下,这样启动模拟器才会有网络:

  1. 先打开reqable
  2. 再打开夜神模拟器

2. 开启抓包功能

如果reqable需要抓取模拟器的请求,需要在软件界面启动抓包功能,如下所示:

在这里插入图片描述
但是如果直接这样启动会抓取到很多系统代理,我们不需要分析这类系统代理请求,可以关闭此功能,如下所示:

在这里插入图片描述

3. reqable面板功能

完整的面板功能介绍请参考官方文档:http://reqable.com/docs/overview

列表部件功能
在这里插入图片描述
列表数据

选中一个列表项,双击可以打开详情:
在这里插入图片描述
快捷操作栏
在这里插入图片描述

4. 夜神模拟器设置项

在这里插入图片描述

5. 注意事项

系统代理
reqable配置了系统证书后,会自动代理系统代理。导致后续使用代码发送http请求的时候报代理错误。因此在使用代码请求的时候需要在系统设置里面关闭系统代理。
在这里插入图片描述
在这里插入图片描述

安装App应用

系统应用无法安装App应用,如需安装可以在豌豆荚下载App应用安装包
豌豆荚官网地址:https://www.wandoujia.com/

在这里插入图片描述
选择普通下载

在这里插入图片描述

下载的文件尾缀是apk,此格式也是安卓应用安装包格式

将下载的apk安装包拖入到模拟器即可安装应用

在这里插入图片描述
在这里插入图片描述

5. Requable代理浏览器网络

某些网站会检测浏览器开发者工具状态 ,一旦启用开发者工具进行抓包,会进入无线Debug状态。在此状态下我们无法抓取数据包,那么我们可以不使用浏览器开发则会工具抓包。可以配置代理后使用Requable进行抓包。

目标站点:https://www.qidian.com/rank/yuepiao/

1. 配置浏览器代理

浏览器需要走自己的代理,可以借助SwitchyOmega代理插件,将此插件安装在浏览器后,按照如下方式配置:

在这里插入图片描述
配置好代理插件后,可以在插件栏固定,方便切换代理:
在这里插入图片描述
使用插件,选择配置好的代理:
在这里插入图片描述

2. Requable配置浏览器代理

首先需要安装windows系统证书
在这里插入图片描述

配置抓包的服务器ip和端口,启动即可抓包
在这里插入图片描述
效果显示:

在这里插入图片描述
温馨提示:浏览器不使用代理的时候需要切换到直接连接模式,不然会没有网络。

在这里插入图片描述

二、代理的使用

1. 付费代理

1. 找付费代理服务站点

搜索 代理ip ,能够发现有很多付费代理服务站点

在这里插入图片描述

目前付费代理站点一般注册后,会有免费的测试代理用量,学习阶段用免费的做测试就够用了。不过现在代理网站普遍都需要实名认证,也会有站点的工作人员联系你添加联系方式,额外也会送你一些ip测试。

  1. 教学所用的代理服务网站是:巨量IP,用其他网站的代理服务也可以,使用方法大同小异

  2. 品易HTTP网址:https://www.juliangip.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2398081.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

群晖 NAS 如何帮助培训学校解决文件管理难题

在现代教育环境中,数据管理和协同办公的效率直接影响到教学质量和工作流畅性。某培训学校通过引入群晖 NAS,显著提升了部门的协同办公效率。借助群晖的在线协作、自动备份和快照功能,该校不仅解决了数据散乱和丢失的问题,还大幅节…

NLP学习路线图(十八):Word2Vec (CBOW Skip-gram)

自然语言处理(NLP)的核心挑战在于让机器“理解”人类语言。传统方法依赖独热编码(One-hot Encoding) 表示单词,但它存在严重缺陷:每个单词被视为孤立的符号,无法捕捉词义关联(如“国…

嵌入式学习笔记 - 新版Keil软件模拟时钟Xtal灰色不可更改的问题

在新版Keil软件中,模拟时钟无法修改XTAL频率,默认只能使用12MHz时钟。‌这是因为Keil MDK从5.36版本开始,参数配置界面不再支持修改系统XTAL频率,XTAL选项变为灰色,无法修改。这会导致在软件仿真时出现时间错误的问题&…

黑马Java面试笔记之 集合篇(算法复杂度+ArrayList+)

一. 算法复杂度分析 1.1 时间复杂度 时间复杂度分析:来评估代码的执行耗时的 常见的复杂度表示形式 常见复杂度 1.2 空间复杂度 空间复杂度全称是渐进空间复杂度,表示算法占用的额外存储空间与数据规模之间的增长关系 二. 数组 数组(Array&a…

Nginx+Tomcat负载均衡

目录 Tomcat简介 Tomcat 的核心功能 Tomcat架构 Tomcat 的特点 Tomact配置 关闭防火墙及系统内核 Tomcar 主要文件信息 配置文件说明 案例一:Java的Web站点 案例二:NginxTomcat负载均衡、动静分离 Tomcat简介 Tomcat 是由 Apache 软件基金会&am…

【论文解读】ReAct:从思考脱离行动, 到行动反馈思考

认识从实践开始,经过实践得到了理论的认识,还须再回到实践去。 ——《实践论》,毛泽东 1st author: About – Shunyu Yao – 姚顺雨 paper [2210.03629] ReAct: Synergizing Reasoning and Acting in Language ModelsReAct: Synergizing Reasoning and…

简单配置RHEL9.X

切换默认运行级别 将系统默认启动模式从多用户的图形界面调整为多用户的文本界面,适用于优化系统资源占用或进行远程服务器管理的场景。 注意:安装选择“带GUI的服务器”部分常用命令默认安装;如果选择“最小安装”时,部分常用命…

下载并运行自制RAG框架

项目部署 https://github.com/huangjia2019/rag-project01-framework git clone https://github.com/huangjia2019/rag-project01-framework.git 一 、 前端分部分部署 在 Ubuntu 系统 上安装 Node.js 和 npm(Node Package Manager),并初始…

Rust 学习笔记:Cargo 工作区

Rust 学习笔记:Cargo 工作区 Rust 学习笔记:Cargo 工作区创建工作区在工作区中创建第二个包依赖于工作区中的外部包向工作区添加测试将工作区中的 crate 发布到 crates.io添加 add_two crate 到工作区总结 Rust 学习笔记:Cargo 工作区 随着项…

颈部的 “异常坚持”

生活中,有些人的颈部会突然变得 “异常坚持”—— 头部不受控制地偏向一侧,或是不自主地旋转、后仰,仿佛被无形的力量牵引着。这种情况不仅影响外观,还会带来强烈的不适感,颈部肌肉紧绷、酸痛,像被一根绳索…

Ubuntu22.04安装MinkowskiEngine

MinkowskiEngine简介 Minkowski引擎是一个用于稀疏张量的自动微分库。它支持所有标准神经网络层,例如对稀疏张量的卷积、池化和广播操作。 MinkowskiEngine安装 官方源码链接:GitHub - NVIDIA/MinkowskiEngine: Minkowski Engine is an auto-diff neu…

【计算机网络】第2章:应用层—应用层协议原理

目录 1. 网络应用的体系结构 2. 客户-服务器(C/S)体系结构 3. 对等体(P2P)体系结构 4. C/S 和 P2P 体系结构的混合体 Napster 即时通信 5. 进程通信 6. 分布式进程通信需要解决的问题 7. 问题1:对进程进行编址…

【Zephyr 系列 6】使用 Zephyr + BLE 打造蓝牙广播与连接系统(STEVAL-IDB011V1 实战)

🧠关键词:Zephyr、BLE、广播、连接、GATT、低功耗蓝牙、STEVAL-IDB011V1 📌适合人群:希望基于 Zephyr 实现 BLE 通信的嵌入式工程师、蓝牙产品开发人员 🧭 前言:为什么选择 Zephyr 开发 BLE? 在传统 BLE 开发中,我们大多依赖于厂商 SDK(如 Nordic SDK、BlueNRG SD…

利用 Scrapy 构建高效网页爬虫:框架解析与实战流程

目录 前言1 Scrapy 框架概述1.1 Scrapy 的核心优势1.2 Scrapy 的典型应用场景 2 Scrapy 工作原理解析2.1 框架结构图2.2 Spider:定义数据采集策略2.3 Scheduler:调度请求与去重2.4 Downloader:网页下载器2.5 Item:结构化数据容器2…

RPG20.创建敌人的初始能力和加载武器

1. 基于StartUpAbilitiy基类创建专门用于敌人数据的DAStartUpABility,然后再基于新创建的DA再创建一个蓝图 2.打开 DataAsset_EnemyStartUpData.h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "Cor…

自适应移动平均(Adaptive Moving Average, AMA)

文章目录 1. 考夫曼自适应移动平均 (KAMA)算法推导及Python实现2. 对 (KAMA)算法参数进行优化及实现 自适应移动平均(Adaptive Moving Average, AMA)由Perry Kaufman在其著作《Trading Systems and Methods》中提出,它通过动态调整平滑系数来…

涨薪技术|0到1学会性能测试第95课-全链路脚本开发实例

至此关于系统资源监控、apache监控调优、Tomcat监控调优、JVM调优、Mysql调优、前端监控调优、接口性能监控调优的知识已分享完,今天学习全链路脚本开发知识。后续文章都会系统分享干货,带大家从0到1学会性能测试。 前面章节介绍了如何封装.h头文件,现在通过一个实例来介绍…

Spring AI Alibaba + Nacos 动态 MCP Server 代理方案

作者:刘宏宇,Spring AI Alibaba Contributor 文章概览 Spring AI Alibaba MCP 可基于 Nacos 提供的 MCP server registry 信息,建立一个中间代理层 Java 应用,将 Nacos 中注册的服务信息转换成 MCP 协议的服务器信息&#xff0c…

MCP:让AI工具协作变得像聊天一样简单 [特殊字符]

想象一下,你正在处理一个项目,需要从A平台查看团队讨论,从B平台获取客户信息,还要在GitHub上检查代码进度。传统做法是什么?打开三个不同的网页,在各个平台间来回切换,复制粘贴数据,最后还可能因为信息分散而遗漏重要细节。 听起来很熟悉?这正是当前工作流程的痛点所…

AI炼丹日志-27 - Anubis 通过 PoW工作量证明的反爬虫组件 上手指南 原理解析

点一下关注吧!!!非常感谢!!持续更新!!! Java篇: MyBatis 更新完毕目前开始更新 Spring,一起深入浅出! 大数据篇 300: Hadoop&…