1. Python爬虫入门教程 爬取背景
2019年1月10日深夜,打开了百思不得姐APP,想了一下是否可以爬呢?不自觉的安装到了夜神模拟器里面。这个APP还是比较有名和有意思的。
下面是百思不得姐的简介
年度超好玩的搞笑内容平台,整个互联网能嗨翻宇宙的神级脑洞大神段子手们都在这..
新鲜的视频,爆笑的段子,有趣的GIF囧图,承包所有你无聊的时间。
更有“姐夫”们毁天灭地“神评论”,花式吐槽,脑洞大开,人人都是段子手……
1500W的下载量,用户群体比较庞大。
2. 爬虫的抓包分析阶段
安装到模拟器内部,打开Fiddler,运行程序,看下图,左侧最后出现的链接,就是我们想要的了
得到待爬取连接如下,所有的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分别是怎么得到的就可以了,看一下第一页的返回数据
上图得到参数3的值
展开list
看到第一项的id为29082060
OK,得到参数1的值了,最后一项肯定是参数2的值,那么我们找到对应参数之后剩下的就是编码了。
4. 爬虫具体编码部分
依旧是你自己来写吧~任何一个模块或者爬虫框架都是很容易就可以实现的,重要的是我们抓到了对应链接就可以了。
百思不得姐手机APP收工