爬虫 — App 爬虫(一)

一、介绍

爬虫分类——数据来源

1、PC 端爬虫(网页端爬虫)

  • 找数据接口(requests,scrapy等)
  • selenium

2、APP 端爬虫

  • 找数据接口

    获取数据接口——fiddler

    获取 APP 与服务器进行交互的数据包——模拟器

  • appium

二、APP 爬虫常见反爬

1、抓不到数据包请求

2、抓取数据包里的参数涉及加密(APP 逆向)

三、APP 抓包常用工具

抓包软件名称支持的操作系统适用平台调试难易程度软件功能程度
fiddlerWindows/Linux网页端、APP 端一般
mitmproxyWindows/Mac/Linux网页端、APP 端一般
packetCapture安卓APP 端简单

四、模拟器

1、安装夜神模拟器安装包;

点击下载夜神模拟器安装包

2、安装好后桌面会多出两个软件,点击模拟器助手;
在这里插入图片描述

3、点击“多开管理”;

在这里插入图片描述

4、点击“添加模拟器”,新建一个模拟器;

在这里插入图片描述

5、选择一个模拟器;

在这里插入图片描述

6、点击设置;

在这里插入图片描述

7、选择"手机版"后,点击“保存设置”;

在这里插入图片描述

8、启动模拟器;

在这里插入图片描述

9、界面启动成功;

在这里插入图片描述

五、安装 APP

点击下载 APP 应用安装包

1、下载 APP

1、输入需要安装的 APP 名称,点击搜索;

在这里插入图片描述

2、点击“查看”;

在这里插入图片描述

3、取消选择框;

在这里插入图片描述

4、点击“普通下载”;

在这里插入图片描述

2、安装 APP

1、直接把下载好的 apk 拖拽到模拟器(常用);

2、通过命令进行安装。

六、fiddler

1、工作原理

在这里插入图片描述

2、安装

点击进入官网下载地址

点击进入百度网盘地址

1、点击“I Agree”;

在这里插入图片描述

2、选择安装路径,点击“Install”;

在这里插入图片描述

3、点击“Close”;

在这里插入图片描述

4、这个软件不会自动在桌面上创建快捷方式,可以自己手动创建,

在安装路径文件夹里找到“Fiddler.exe”文件,右键点击,选择“发送到”,选择“桌面快捷方式”;

在这里插入图片描述

3、基本介绍

1、界面展示

在这里插入图片描述

2、快捷功能区

在这里插入图片描述

1:给会话添加备注信息

2:重新加载当前会话

3:删除会话选项

4:放行,和断点对应

5:响应模式,当 fiddler 拿到远程的 response 后是缓存起来一次响应给客户端还是以 stream 的方式直接响应

6:解码,有些请求是被编码的,点击这个按钮后可以根据响应的编码格式自动解码

7:查找会话

8:保存会话

9:截屏,截屏后,会以会话的方式返回一个截图

3、常用功能

清空数据包

在这里插入图片描述

停止抓包

在这里插入图片描述

保存数据包
在这里插入图片描述

打断点

在这里插入图片描述

更多内容可点击参考

七、环境配置

1、fiddler 的配置

HTTPS

让 fiddler 能够捕获 https 的请求

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

检查证书是否安装成功

在这里插入图片描述

在这里插入图片描述

如果能看到这两个证书,就说明证书已经安装成功了

Connections

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后重新启动 fiddler

2、夜神模拟器的配置

1、打开夜神模拟器,在桌面上找到“工具”并点击,然后找到“设置”并点击;

在这里插入图片描述

2、滑动到最底部,点击“关于平板电脑”;

在这里插入图片描述

3、滑动到最底部,不停的点击“版本号”;

在这里插入图片描述

4、直到出现“您现在处于开发者模式”为止;

在这里插入图片描述

5、点击返回上一页,会出现“开发者选项”,点击进去;

在这里插入图片描述

6、打开“USB调试”,点击“确定”;

在这里插入图片描述

7、返回桌面,打开浏览器,点击“设置”;

在这里插入图片描述

8、选择“隐私和安全”;

在这里插入图片描述

9、点击取消选中“显示安全警告”;

在这里插入图片描述

10、然后重启模拟器,点击“设置”,找到“WLAN”,点击进入;

在这里插入图片描述

11、在“WiredSSID”上长按鼠标左键,点击“修改网络”;

在这里插入图片描述

12、可按 win+R 后,输入 cmd 进入电脑终端;

在这里插入图片描述

13、回到桌面,点击浏览器,在地址栏里输入 ip 地址和端口号后,点击“FiddlerRoot certificate”(如没有出现此页面可重新启动模拟器);

在这里插入图片描述

14、点击“下载”;

在这里插入图片描述

15、点击“下载已完成”;

在这里插入图片描述

16、填入“证书名称”后,点击“确定”;

在这里插入图片描述

17、此时,会跳出弹窗提示,需要设置密码,点击“确定”;

在这里插入图片描述

18、点击“密码”;

在这里插入图片描述

19、输入密码后,点击“继续”;

在这里插入图片描述

20、点击“完成”。

在这里插入图片描述

八、案例

目标 APP:当当

需求:爬取书名、作者、出版社、好评率、价格

1、在“豌豆荚”网站下载好目标 APP 后,将 APP 拖拽进模拟器中

2、打开 APP,在搜索框里输入内容,输入内容前,先在 fiddler 里清空数据包

在这里插入图片描述

3、点击“Find”查找相关数据包后,点击“Find Sessions”

在这里插入图片描述

4、依次点击高亮显示的数据包,找到有数据的

在这里插入图片描述

5、数据为乱码,点击图中框框的位置

在这里插入图片描述

6、点击后正常显示

在这里插入图片描述

7、数据为 json 格式,点击“JSON”,更方便查看数据

在这里插入图片描述

8、复制数据包的 url

在这里插入图片描述

代码实现

import requests  # 导入 requests 模块,用于发送网络请求
# pip install rich
from rich import print as rprint  # 导入 rich 模块的 print 函数,用于打印带样式的输出

# 目标 url
url = 'http://mapi7.dangdang.com/index.php?page_version=new2&access-token=&time_code=0a700316b85a0d578709bd673dd123dc&img_size=e&client_version=10.12.4&pageSize=10&union_id=537-100998&timestamp=1687961723&province_id=111&permanent_id=20230628220338845805790296886915991&a=all-search&global_province_id=111&page_action=search&c=search&sort_type=default_0&keyword=%E7%88%AC%E8%99%AB&udid=4aa439184898c3fbab8ed2cd869b77e1&user_client=android&page=1'

# 发送 get 请求,获取响应对象
res = requests.get(url)

# 使用 rich 模块的 print 函数打印响应对象中的 JSON 数据的 product 字段
# rprint(res.json()['data']['product']) # 返回的数据类型 list

# 获取响应对象中的 product 列表
product_lst = res.json()['data']['product']

# 遍历 product 列表
for product in product_lst:
    # 创建字典
    item = {}
    item['title'] = product.get('productName')  # 获取商品名称
    item['author'] = product.get('author')  # 获取商品作者
    item['publisher'] = product.get('publisher')  # 获取商品出版社
    item['commentCount'] = product.get('commentCount')  # 获取商品评论数
    item['price'] = product.get('price')  # 获取商品价格
    print(item)  # 打印商品信息
    print('-' * 100)  # 分隔线

注意:

1、pip install rich 安装报错

检查是否开启 fiddler,开启的话可能会报错,关闭 fiddler,再重新安装即可

2、url 里面

page:控制翻页
keyword:关键字搜索

记录学习过程,欢迎讨论交流,尊重原创,转载请注明出处~

  • 28
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值