1. Python爬虫入门教程 爬取背景

2019年1月10日深夜,打开了百思不得姐APP,想了一下是否可以爬呢?不自觉的安装到了夜神模拟器里面。这个APP还是比较有名和有意思的。

下面是百思不得姐的简介

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
年度超好玩的搞笑内容平台,整个互联网能嗨翻宇宙的神级脑洞大神段子手们都在这..
新鲜的视频,爆笑的段子,有趣的GIF囧图,承包所有你无聊的时间。
更有“姐夫”们毁天灭地“神评论”,花式吐槽,脑洞大开,人人都是段子手……

1500W的下载量,用户群体比较庞大。

Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分 Python 第1张

2. 爬虫的抓包分析阶段

安装到模拟器内部,打开Fiddler,运行程序,看下图,左侧最后出现的链接,就是我们想要的了
Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分 Python 第2张

得到待爬取连接如下,所有的request请求,注意到,并没有什么加密参数

GET http://s.budejie.com/v2/topic/list/10/0-0/budejie-android-8.0.1/0-25.json?uid=&t=&market=360zhushou&client=android&appname=budejie&device=&jdk=1&ver=8.0.1&udid=&from=android HTTP/1.1
ver: 8.0.1
client: android
market: 360zhushou
udid: 866174010820641
mac: 9C:30:5B:38:35:2F
os: 4.4.2
appname: budejie
visiting:
Referer: http://www.budejie.com
t: 1547132330768
Host: s.budejie.com
Connection: Keep-Alive
Accept-Encoding: gzip

去掉无用参数, 得到如下链接

http://d.api.budejie.com/v2/topic/list/29/0-0/budejie-android-8.0.1/0-25.json 

剩下的就是分析了

3. 分析页面规律,得到链接拼接方式

爬虫就是要找到链接的规律,下面是第一页和第二页的数据

http://d.api.budejie.com/v2/topic/list/29/0-0/budejie-android-8.0.1/0-25.json
http://d.api.budejie.com/v2/topic/list/29/29082060-28984879/budejie-android-8.0.1/1544334121-25.json

提取公用部分
http://d.api.budejie.com/v2/topic/list/29/{参数1}-{参数2}/budejie-android-8.0.1/{参数3}-25.json
三个参数位置发生了改变
还有两个数字,一个是29,这个目测应该是类别,一个是25,这个应该是每页显示的数据条数

那么我们看一下,第二个链接中参数1,2,3分别是怎么得到的就可以了,看一下第一页的返回数据

Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分 Python 第3张

上图得到参数3的值

展开list看到第一项的id为29082060 OK,得到参数1的值了,最后一项肯定是参数2的值,那么我们找到对应参数之后剩下的就是编码了。
Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分 Python 第4张

4. 爬虫具体编码部分

依旧是你自己来写吧~任何一个模块或者爬虫框架都是很容易就可以实现的,重要的是我们抓到了对应链接就可以了。

百思不得姐手机APP收工

Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分 Python 第5张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄