(超详细)手把手带你爬取南邮毛概马原思修题库

文章目录

  • 前言
  • 一、实现原理
  • 二、实现过程
  • 总结


前言

这篇文章主要针对于毛概题库在手机APP上的情况,例如思政云APP。如果你是这种情况,请继续往下看。。

一、实现原理

我们都知道,如果我们要获取题库,肯定第一点,我们得需要先获取他的源码,网页的源码F12可以查看,对于手机app其实也一样,因为他不可以一键查看,所以我们需要抓包工具获取手机想外面发出去的请求,这就是我们需要做的第一步的准备,需要先准备一个抓包工具,对于常见的抓包工具,我知道有fiddler和青花瓷两个。在这里,我是用fiddler抓包的,青花瓷我没有用,所以下面我所说的抓包都是指fiddler这个软件。

至于这个软件的下载,我放倒了一个群里面,在文章末尾,会有群名。

那么在准备好这个抓包工具之后,我们也应该想到,怎么才能让手机发出去的数据被这个转包工具给获得呢?其实很简单,就是给手机设置代理,让手机向外面发送数据的时候,通过这个代理,这样的话,这个代理上面的抓包工具就可以获取通过这个代理发出去的数据,从而获得手机发出去的数据。就是说,手机不直接发送数据,他把数据发给代理,让代理去帮他发,是这样子的一个关系。那么这个代理是谁呢?这个代理当然是我们自己的电脑了,对吧,不然你手机上往外发送的数据都被截取走了。

理解这两个步骤,就相当于已经懂了大概原理了,但其中,也还有一个小细节是需要知道的,这个小细节也很重要

这就是为什么app会把数据乖乖的交给你代理的这个抓包软件呢?这就涉及到了安全证书的话题

什么是安全证书呢?

可以这么简单的理解,他就好比指纹识别,只有能够正确的进行指纹识别,app才会把数据交付给这个服务器。

那么这个安全证书是由谁来颁布的呢?

他一般是由权威的第三方机构所颁布的数字证书,具体他是什么东西,他就好比一个能证明你是真正的你,不是冒充的你这样子的作用。

那么这个安全证书是如何工作的呢?

这实际上就是建立握手的过程,验证交换中的一方或者双方以此建立通信。其实具体他们是怎么实现的,我也未知,我们只需要知道,你有了这个安全证书,就能证明你是安全的,就能在彼此间建立连接。

对了,还有一个小知识,就是网段。我们知道每一个联网的电脑都有一个对应的IP地址,IP在经过子网掩码的划分,确定出网络部分和主机部分,其中,网络部分上,主机部分全置零,则这个IP表示的是网段,若网络部分上,主机部分全置一,则这个ip表示的是广播段,我们要实现的代理的第一个部分,就是让电脑和手机在同一个网段下,所以他们的子网掩码必须是相同的,我采用的方法是让手机和电脑连接同一个热点,这样他们就会处于同一个网段下,然后设置代理,实现抓包。

二、实现过程

第二部分主要讲述的是实现步骤

首先我们需要在电脑上安卓一个fiddler,并且对其进行初始化设置。他的安装我放在群里面了,文章末尾有群号,可以入群来下。

下好之后,需要初始化设置,我们直接放图操作(超详细)手把手带你爬取南邮毛概马原思修题库_第1张图片

这个操作的目的相当于就是打开设置

(超详细)手把手带你爬取南邮毛概马原思修题库_第2张图片

打开之后应该就是这个样子

(超详细)手把手带你爬取南邮毛概马原思修题库_第3张图片

我们需要设置的第一例选项,然后在标记的地方全打对勾

(超详细)手把手带你爬取南邮毛概马原思修题库_第4张图片

我们需要设置的第二例选项,端口的话,可以设置成8888。

那么端口可以设置成别的吗?我的理解是,只要你开通了这个端口,并且这个端口是空闲的,就应该可以。因为端口的范围是0-65535,但一般情况下,0-1024这些端口都是已经用于指定的服务了,所以你如果要自己设置端口,最好不去使用这些端口。

我们需要设置的第三例选项,就是证书的获取

(超详细)手把手带你爬取南邮毛概马原思修题库_第5张图片

点击图示的按钮,就可以获取证书,然后我们需要将证书再发送到手机上,进行安装,不同的手机证书的安装在不同的地方,我的证书安装实在连接wifi的时候有高级设置,可以安装,你们的也可以找一下

安装完之后,fiddler的初始化基本完成了,接下来我们需要将手机和电脑联网,并将其处于同一个网段。

在这里我采用的是用舍友的手机开热点,用我的手机和电脑同时连接这个热点,这样电脑和手机就会处于同一个网段。但这里有一点需要注意,就是如果用自己的手机给自己的电脑开热点,他们也会处于同一个网段,但是需要注意,此时的手机相当于路由器,电脑相当于用户,电脑连接了手机,手机在电脑的上一层,这时候是无法通过设置代理让电脑监听手机的,所以这种情况是抓不到包的。

当连接好同学的热点之后,需要设置代理,代理设置如图所示
当你脸上热点之后,应该是这个界面
(超详细)手把手带你爬取南邮毛概马原思修题库_第6张图片

然后,你只需要在电脑上windows+R,在命令框中输入cmd,打开cmd命令行,在cmd命令行中输入ipconfig,从而获得电脑联网时候的ip地址。需要注意,由于手机做热点,只能发射ipv4版本的流量热点,所以,此时的ip地址指的是ipv4地址。注意:如果电脑是连接wifi的话,一定是无线局域网适配器WLAN下面的IPV4地址。

图片长这样:

(超详细)手把手带你爬取南邮毛概马原思修题库_第7张图片

然后,你就获得了电脑的ip地址,接下来只需要将他填写到手机的手动设置代理的用户名上即可,如图所示:
(超详细)手把手带你爬取南邮毛概马原思修题库_第8张图片

自此,我们就实现了将电脑和手机设置在同一个网段下,并且实现了电脑监听手机app数据的功能

如果我们在手机上打开知乎,那么fiddler抓到的包,应该是这样的:
(超详细)手把手带你爬取南邮毛概马原思修题库_第9张图片

然后就很简单了,你接下来只需要在手机上打开思政云,然后打开某一章节的习题,电脑上的抓包工具就可以获得这章习题的源码。

总结

在把这些源码保存下来,然后在使用正则解析进行提取,最后把他们放到一个xls文件中,完成此次爬取。至于正则解析提取,感觉自己又会说很多,放在下一节中进行详细描述。

群号:1033047396,另外,大家如果还有什么想要看爬取的教程,欢迎私信,我会努力去爬的

你可能感兴趣的:(python,爬虫)