百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 软件资讯 > 正文

对不起,我把APP也给爬了(对不起,我把他弄丢了)

ninehua 2025-06-15 18:18 3 浏览

最近很多小伙伴对爬取手机App和小程序感兴趣,今天本厨师将给大家呈现这道菜,供小伙伴们品尝。

相信大家都对爬虫有一定的了解,我们爬PC端时候可以打开F12去观察url的变化,那么手机的发出请求我们应该怎么拦截呢。

今天的主菜就是给大家介绍一个抓包工具Fiddler,并用它烹煮一道广州房价爬虫。

Fiddler是一个http调试工具,也仅限于拦截http协议的请求,这是它的短板之处,但是对于我们平常的练习运用也足够了,因为大多数网站都是走http协议。跟Fiddler同类型的抓包工具还有很多。


我先教大家怎么设置Fiddler。

主要三个步骤:

1、安装软件后,打开Fiddler的Tools选项,进行第一步,分别对General,HTTPS,Connections窗口进行如下设置。

把该勾上的勾上后,我们回到HTTPS这个界面,点击Actions,选择Trust,安装证书。

这时候我们的PC端的洗菜流程已经完成啦。

2、接下来我们就要设置手机端,我们既然要通过PC端拦截手机发出的请求,就要设置手机的网络跟PC是同一个。

网络下,所以第二步,我们要更改手机ip。我们先来看看你的PC端ip是多少。先打开cmd进入终端后,输入ipconfig回车。

就可以看到你的ip地址了。


这时候终于轮到你的宝贝手机出场了,熟练的连上你的wifi之后,修改你的wifi设置,点击高级选项后,分别输入你的ip和端口后保存。

3、大家是不是觉得很简单呢,别高兴太早了!最关键的一步到了,在我们完成第一、二步设置后,打开你的手机浏览器输入你的ip和端口号(例127.0.0.1:8080),回车,这时候会跳转到一个下载手机端证书的页面,下载后并信任证书后(注:某些安卓手机会要获得root权限才行),这时候,我们安装三部曲就大功告成了。

万事俱备,只欠东风,食材都清洗好了,现在我就教大家怎么利用Fiddler烹煮小程序。


抓包实战


先打开一个小程序网站,我选择的是Q房网,大家看,菜下锅后,Fiddler是不是变化了。

这就是用fiddler拦截到你的手机发出请求的网页信息了和它的链接,这个网页信息是通过json数据加载的。

然后往上看,Raw模块是获取请求头的地方。

有了这两个信息,我们的爬虫代码也就可以开始编写了。


爬虫代码


基操requests,循环页数,由于是获取的数据是json格式,我们就要利用json.loads格式化抓取的信息,才能进行一个数据提取。


url = 'https://mapi.qfang.com/wechat/api/v3_2_0/room?dataSource=GUANGZHOU&unionId=这里也是微信id&platform=wechat&bizType=SALE¤tPage={}&pageSize=20&keyword=(R)ion=&l=&s=&p=&b=&a=&r=&h=&g=&t=&o=&fromPrice=&toPrice=&unitPrice=&fromUnitPrice=&toUnitPrice='
#爬取到50页,程序就停止
for i in range(1,51):
    time.sleep(rand_seconds)
    url3 = url.format(i)
    # print(url3)
    res = session.get(url=url3, headers=headers)
    # print(res.text)
    data = json.loads(res.text)
    try:
        id_list = data['result']['list']
        # print(333,id_list)
        for i in id_list:
            id = i['id']
            # print(id)
            url2 = 'https://mapi.qfang.com/wechat/api/v3_2_0/room/detail?dataSource=GUANGZHOU&unionId=这里也是微信id&platform=wechat&id={}&bizType=SALE&userId=&accountLinkId=&top=1&origin=sale-list'.format(
                id)
            time.sleep(rand_seconds)
            try:
                requests.adapters.DEFAULT_RETRIES = 3
                res2 = session.get(url=url2, headers=headers, timeout=10)
            except requests.exceptions.ConnectionError:
                requests.adapters.DEFAULT_RETRIES = 3
                res2 = session.get(url=url2, headers=headers, timeout=10)
            except requests.exceptions.ReadTimeout:
                requests.adapters.DEFAULT_RETRIES = 3
                res2 = session.get(url=url2, headers=headers, timeout=10)
            item = {}
            res2_data = json.loads(res2.text)
            try:
                roominfo = res2_data['result']['roomInfo']
            except KeyError:
                break

爬取数据结果:

数据可视化


菜做好了,当然还要撒点香菜才能上桌啦,做个简单可视化吧,由于爬取的数据很干净,我省掉清洗数据的环节,直接上手,在各位群大佬面前献丑了。

我们先来看看该网站的广州二手房的最高价和最低价,这最高价的数字太感人了.... 这多少个0我都数不对。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv(r'F:\PycharmProjects\house_spider\广州二手房.csv', encoding='gbk')
# print(df)
df = df.astype({'price': 'float64'})  #先将价格的类型转为浮点数,方便后面计算
df_max = df['price'].max()  #查看爬取的数据中房价最高的价格
df_min =df['price'].min()  #房价最低的价格
print('广州二手房最高价:%s,最低价:%s'%(df_max,df_min))
re_price = ['region', 'price']

# 分组统计数量
price_df = df[re_price]
# #根据区域价格计算区域房价均价
region_mean_price = price_df.groupby(['region'],as_index=False)['price'].agg({'mean_price':'mean'})
region_mean_price = region_mean_price.sort_values(by='mean_price')
print(region_mean_price)

#利用循环提取已经处理好的区域和它的均值
for x,y in zip(region_mean_price.region, region_mean_price.mean_price):
    plt.text(x, y,'%.0f' %y, ha='center', va= 'bottom',fontsize=11)

# 显示柱状图值
plt.bar(region_mean_price.region, region_mean_price.mean_price, width=0.8, color='rgby')
plt.show()

继续继续,我们来统计一下广州各区的房价,然后算出各个区域均值,通过groupby分组统计出region_mean_price

(原来黄埔房价都那么高了,各网站数据的差异性也会导致最终展示的结果不一样,大家可以选个大网站试试)

到此,我们这次利用工具抓包小程序网站的介绍就结束了,大家也可以试试app,原理一样。


相关推荐

魔兽世界9.2:元素萨是赎罪大厅最好治疗?30赎罪元素斗士队探索

作者:NGA-aaeehhhh前言众所周知,赎罪大厅是本赛季大秘境中治疗压力最小的副本。一众奶妈常在职业区发帖炫耀探讨赎罪大厅自身的输出,以及如何配装可以达到输出最大化。同时,又有一些链链橙元素萨...

「买买买」选办公装备,就要便宜还好用的

工欲善其事必先利其器,要想提高办公效率,很有必要准备一些小东西来节省繁琐的工作环节,或者是让办公舒适度大幅提升。今天小狮子就给大家推荐几款便宜又好用的工具,没准正好是你用得上的。精致小U盘,有大用处闪...

魔兽一秒学会惩戒骑:打地鼠WA(tbc惩戒骑有打断吗)

WeakAuras插件是魔兽世界中功能强大、高度可定制的法术计时和效果监控工具,它以其灵活性和用户友好的界面,为玩家提供了无与伦比的游戏体验优化。加载WA插件,进入游戏输入/WA呼出插件界面,点击导入...

手机上的腾讯视频下裁缓存后怎么在剪映上打开?

手机上的腾讯视频,爱奇艺等app下裁电影缓存后是没办法直接导入剪映的。剪映上支持的格式一般为MP4格式。腾讯视频,爱奇艺等由于缓存格式的不同一般都是需要先将下裁好的电影进行转码后才能在剪映上找到该电影...

大雨暴雨!考生注意,昆明将迎强降雨,最强时段在→

x+uPszetsZE0hW4Kus8ZBXIv2aDRkIfZ5gJS7lUPXMoBvX2xGtVvDhtZxbB9RTDIbj0Jgh0MmOkEfBiJDtHykQ2Qqj7fl20m2BSK...

金舟格式工厂好用吗?批量转换速度如何?

金舟格式工厂是一款集齐多种格式转换功能的格式转换工具,分别支持视频、音频、文档、图片等多种格式转换,而且还提供了批量处理功能,帮助我们多文件批量转换,超强的处理功能能节省不少时间,想要高效办公,非他莫...

如何将qlv格式的腾讯视频转换为mp4格式

1,在腾讯视频客户端搜索自己想要转换的视频,然后下载。如图(这里需要注意的是,一定要下载完成才能进行转换):2,找到缓存文件所在的位置(文件夹)在腾讯视频客户端中点击设置图标,然后就会看到跳出来的下载...

音频提取/无损音质一键拥有(音频提取下载什么软件)

经典影视台词、、突然火起来的音频、有趣的视频声音、好听但不知道歌名的视频音乐....大家有木有在这些时候很苦恼?如何将这些台词/声音/音乐从视频中提取出来呢?——视频转音频一键提取音频哦,一起来学习吧...

自己动手无需软件:将腾讯视频的QLV视频转化为MP4格式

自己动手丰衣足食,只要你有简单的动手能力,小编就能完成你的梦想!上一篇就是小编亲测的视频地址,大家可以点击看一下成品效果:胥渡吧新作:紫薇结婚了,皇阿玛都发话了大家平时可能会用到腾讯视频的下载功能,但...

怎么把腾讯视频的qlv格式转换为mp4格式

1、进入腾讯视频,将需要整理的视频下载,如图所示2、在下载页面的右侧位置,如图“设置”位置,点击打开,将视频存储的位置--复制(一定要保持全部复制,不要漏掉)3、在“我的电脑”搜索栏部分,将刚复制的存...

某证券项目软件测试面试过程总结(证券软件测试用例)

这家公司是做证券项目的,约的9点钟,路程还是有点遥远,转了一趟公交两趟地铁,精力都花在了路上,感觉有点累,以下是今天得面试流程。  到公司前台给我了一张面试表,写完之后就是等待面试。一共面试了两轮,第...

用ChatGPT高效学习:7天入门Python网络爬虫

用ChatGPT高效学习:7天入门Python网络爬虫以前不懂编程,但经常要从互联网上批量下载一些文件图片视频、收集整理数据等,手工操作耗时耗力。用ChatGPT入门了Python编程后,就寻思着可以...

微信小程序手机和电脑抓包实现(微信小程序如何抓包)

前言一.Charles抓包和配置:二.ProxyPin使用和总结:结尾前言微信小程序抓包可以帮助开发者分析小程序的网络请求,从而优化程序性能,解决程序的bug。同时,通过抓包还可以获取到一些有用的信...

难道只有我懂Nginx/OpenResty详解,Nginx的rewrite模块指令?

Nginx的rewrite模块指令Nginx的rewrite模块即ngx_http_rewrite_module标准模块,主要功能是重写请求URI,也是Nginx默认安装的模块。rewrite模块会根...

一文了解 Telerik Test Studio 测试神器

1.简介TelerikTestStudio(以下称TestStudio)是一个易于使用的自动化测试工具,可用于Web、WPF应用的界面功能测试,也可以用于API测试,以及负载和性能测试。Te...