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收工
Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分的更多相关文章
-
Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分
1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...
-
Python爬虫入门教程 42-100 爬取儿歌多多APP数据-手机APP爬虫部分
1. 儿歌多多APP简单分析 今天是手机APP数据爬取的第一篇案例博客,我找到了一个儿歌多多APP,没有加固,没有加壳,没有加密参数,对新手来说,比较友好,咱就拿它练练手,熟悉一下Fiddler和夜神 ...
-
Python爬虫入门教程 30-100 高考派大学数据抓取 scrapy
1. 高考派大学数据----写在前面 终于写到了scrapy爬虫框架了,这个框架可以说是python爬虫框架里面出镜率最高的一个了,我们接下来重点研究一下它的使用规则. 安装过程自己百度一下,就能找到 ...
-
Python爬虫入门教程 3-100 美空网数据爬取
美空网数据----简介 从今天开始,我们尝试用2篇博客的内容量,搞定一个网站叫做"美空网"网址为:http://www.moko.cc/, 这个网站我分析了一下,我们要爬取的图片在 ...
-
Python爬虫入门教程 31-100 36氪(36kr)数据抓取 scrapy
1. 36氪(36kr)数据----写在前面 今天抓取一个新闻媒体,36kr的文章内容,也是为后面的数据分析做相应的准备的,预计在12月底,爬虫大概写到50篇案例的时刻,将会迎来一个新的内容,系统的数 ...
-
Python爬虫入门教程 38-100 教育部高校名单数据爬虫 scrapy
爬前叨叨 今天要爬取一下正规大学名单,这些名单是教育部公布具有招生资格的高校名单,除了这些学校以外,其他招生的单位,其所招学生的学籍.发放的毕业证书国家均不予承认,也就是俗称的野鸡大学! 网址是 ht ...
-
Python爬虫入门教程石家庄链家租房数据抓取
1. 写在前面 这篇博客爬取了链家网的租房信息,爬取到的数据在后面的博客中可以作为一些数据分析的素材.我们需要爬取的网址为:https://sjz.lianjia.com/zufang/ 2. 分析网 ...
-
Python爬虫入门教程 22-100 CSDN学院课程数据抓取
1. CSDN学院课程数据-写在前面 今天又要抓取一个网站了,选择恐惧症使得我不知道该拿谁下手,找来找去,算了,还是抓取CSDN学院吧,CSDN学院的网站为 https://edu.csdn.net/ ...
-
Python爬虫入门教程 37-100 云沃客项目外包网数据爬虫 scrapy
爬前叨叨 2019年开始了,今年计划写一整年的博客呢~,第一篇博客写一下 一个外包网站的爬虫,万一你从这个外包网站弄点外快呢,呵呵哒 数据分析 官方网址为 https://www.clouderwor ...
随机推荐
-
iOS UIApplication sharedapplication用法
应用中打开其他应用 我们来讨论一下,在iOS开发中,如何实现从app1打开app2. 基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一 ...
-
coco2dx c++ HTTP实现
coco2dx c++ HTTP实现 达到的结果如下面的 iPhone截图 android 日志截图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdnBp ...
-
虚拟机学习centos服务器版
虚拟机安装下载教程:http://www.cnblogs.com/CyLee/p/5615322.html centos 6.5下载地址:http://www.centoscn.com/CentosS ...
-
cat: can't open '/lib/modules/2.6.35.3-571-gcca29a0/modules.dep': No such file or directory
在使用modprobe 或者modinfo cat: can't open '/lib/modules/2.6.35.3-571-gcca29a0/modules.dep': No such fil ...
-
jquery 数组操作 $.unique() $.inArray()
1.去除重复 $.unique() $.unique() 去掉重复的元素 注意 : 执行unique之前,要先调用sort对数组的内容进行排序. <script src="http:/ ...
-
ASP.NET Core中使用GraphQL - 第七章 Mutation
ASP.NET Core中使用GraphQL - 目录 ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间 ...
-
Swift 编程杂谈
1.Swift 3.0 使用Cocopods 导入第三方报错 之前一直用Object-C 编写代码 用Cocopods导入第三方没出过什么问题(PS:2017最新cocoaPods安装教程) 今天用 ...
-
opencv学习之路(15)、形态学其他操作(开、闭、顶帽、黑帽、形态学梯度)
一.形态学其他操作(用的不多,如果忘了也可以通过膨胀腐蚀得到相同效果) 1.开运算 2.闭运算 3.形态学梯度 4.顶帽 5.黑帽 #include "opencv2/opencv.hpp& ...
-
(转)How Hash Algorithms Work
本文转自:http://www.metamorphosite.com/one-way-hash-encryption-sha1-data-software Home Posted: Novembe ...
-
传智:自己简单实现一个struts2框架的demo
struts2的结构图: 代码实现: 组织结构: 主要代码: package cn.itcast.config; import org.apache.log4j.Logger; import org. ...