Python爬虫常用之登录(一) 思想

爬虫主要目的是获取数据,常见的数据可以直接访问网页或者抓包获取,然后再解析即可.

一些较为隐私的数据则不会让游客身份的访问者随便看到,这个时候便需要登录获取.

一般获取数据需要的是登录后的cookie作为身份验证,如果一个可用cookie就能满足你的爬虫需要,可以不用模拟登录,

直接在网页上登录,拷贝cookie下来,写死在代码中.

其他的情况可能需要代码帮你登录,然后获取登录的cookie,再去访问你需要的数据.

 

首先,你需要有一个帐号(或者多个,当你想大量访问数据而cookie又有限制时.),当然,还有密码.

对于我来说,登录手段总体分为两种:

1.使用浏览器模拟登录;

2.使用请求接口模拟登录.

这两个方法均为通用登录方式,即一般的网站经过一定的分析,就可以用这些方法登录.

一用浏览器模拟登录,比较简单粗暴,但是效率低下.

优点在于不用过多分析,直接操作selenium等,代码写起来简单快捷,登录成功只需尝试几次即可.

当遇到验证码时一般是截取下来,手动输入或者请求打码平台输入.可能截取稍费功夫.

二用请求登录,有的网站简单,有的网站复杂.

最简单的网站只有一个请求,也不加密,带上你的帐号密码,模拟请求一次即可成功.

其次是有前提的登录,需要提前请求一些信息,作为登录参数,传入你要构造的登录请求之中,再去模拟登录,方能成功.

再次是拿了先验条件之后,还有大量的加密算法,需要根据对应的算法给你的帐号和用户名加密,再写入请求.

最麻烦的是登录成功了还有很多验证,包括验证码,图片识别,个人隐私密保等相关问题,这种不在讨论范围之内.

 

posted @ 2017-08-21 12:25  Masako  阅读(1509)  评论(0编辑  收藏  举报