第 10 章 模拟登录
很多情况下,网站的一些数据需要登录才能查看,如果想要爬取这部分数据的话,就需要实现模拟登录的一些机制。
模拟登录现在主要分为两种模式,一种是基于 Session 和 Cookie 的模拟登录,一种是基于 JWT(JSON Web Token)的模拟登录。
对于第一种模式,我们已经学习过 Session 和 Cookie 的用法。简单来说,打开网页后模拟登录,服务器会返回带有 5etˉ〔ook1e字段的响应头’客户端会生成对应的Cookje’其中保存着与SessjonID相 关的信息’之后发送给服务器的请求都会携带这个生成的Cookie°服务器接收到请求后,会根据Cookie 中保存的SessjonID找到对应的Session’同时校验Cookje里的相关信息,如果当前Session是有效的 并且校验成功,服务器就判断当前用户已经登录,返回所请求的页面信息°所以’这种模式的核心是 获取客户端登录后生成的Cookie° 对于第二种模式也是如此’现在有很多网站采取的开发模式是前后端分离式,所以使用JWT进 行登录校验越来越普遍°在请求数据时,服务器会校验请求中携带的JWT是否有效,如果有效,就 返回正常的数据°所以’这种模式其实就是获取JWT° 基于分析结果’我们可以手动在测览器里输人用户名和密码’再把Cookie或者JWT复制到代码 中来请求数据’但是这样做明显会增加人工工作量°实现爬虫的目的不就是自动化吗?所以我们要做 的就是用程序来完成这个过程,或者说用程序模拟登录。
本章我们将介绍模拟登录的相关内容。