一起学爬虫(Python) — 13

本文介绍如何使用Python进行简单网站的模拟登录,并处理登录过程中的验证码识别问题。通过实际案例——名著小说网,演示了如何抓取验证码、保存验证码图片及完成登录流程。

一起学爬虫(Python) — 19 年轻人,进来学自动化

今天要实现简单的手动识别验证码

也许你刚进来的时候会吓一跳,以为这个博主疯了,因为他的标题都是啊啊啊啊啊啊,这是为什么呢?

因为我实在是不会起标题啊啊啊!!!

所以在这里,找一个比较擅长排版或者骚话比较多的小姐姐(女装的小哥哥也可以),义务 义务 义务 帮小泽排一下版,当然,如果效果很好的话,也是可以请你喝一杯奶茶的嘛~

联系方式:
在这里插入图片描述
本群绝对没有广告~

希望一起搞骚操作的小伙伴快点进来玩啦~~~

在这里插入图片描述
今天我们要欺负的网站是……

在这里插入图片描述

名著小说网

在这里插入图片描述
看看,多么有道理的一句话!

为什么你找不到女朋友,就是因为看小泽的博客看的还不够!!

什么?你全都看过了…那你都点赞了吗!

什么?你全都看过还全都点赞了…那就说明是你读书太多而想得也太多,所以就不要让自己想太多,就不会有那么多的失落了。

但是这不妨碍你把小泽所有的博客都点一次赞,嚯嚯~

在这里插入图片描述

啊啊

在这里插入图片描述

……

在这里插入图片描述

……

在这里插入图片描述
好吧,看来还是要专心的给大家写博客,本来想领略一下古人的多人运动技巧,但是看来这个网站也不怎么样,所以我们还是要…

在这里插入图片描述

在脑海里时刻的回想起这句话,她真的很有道理!

好啦,不跟大家水字数了,直接直奔主题哈,我们昨天不是讲了模拟登陆嘛,但是有的网站登陆的时候是需要验证码的,所以呢,我们就在昨天模拟登录的基础上,进一步升级,模拟登陆有验证码的网站。

当然,今天只是找了一个好欺负的网站来进行示范,思路要先明确,然后我们后续再说怎么解决越来越厉害的反爬机制。

啊啊

这里为什么要换一个标题再讲呢,是因为我感觉如果一个标题讲完了所有的东西,就会显得很不专业,虽然我们很不专业,但是气质不能没有!

在这里插入图片描述

虽然短小,但是精悍,而且未来可期,实属未来战士!

啊啊

没错,又换了一个标题,就是这么任性,你不服气你给我想标题名字啊~

在这里插入图片描述

咳咳,看到我们名著小说网最上面的那两句话的旁边的登录了吗,点开他~

在这里插入图片描述
我们会发现这个登录界面整体上是非常绿色的,很健康的颜色,这也可能是为什么他没有金瓶梅的理由吧,健康生活,希望大家都跟小泽一样戒掉XX,每天早睡早起,喝养生粥,泡养生脚,睡养生觉,一起做头发最茂盛的程序员吧!

在这里插入图片描述
好的,让我们继续学习。

各位同学不要想得太多,而读书太少。

当然,在这之前请各位同学先自行注册一个账号,虽然说一会小泽的账号肯定会暴露,但是还是希望各位能用自己的账号比较好,我现在已经登不上我的4399了。

啊,不对,是我同学的4399账号。

然后打开抓包工具,也就是F12,也就是检查,也就是开发者工具。

上面的4个东西,是同一个东西哦。

为什么要打开呢,因为我们要模拟登陆的话,就先登录一遍,把我们本地发给服务器的数据拦截一下,看一下发送了什么东西:

在这里插入图片描述
可以看到,Data里面有我们的账号密码,还有验证码,下面那个CookieDate呢,则是时效,也就是说我们的账号密码还有时效都是可以写死的,可以不变的,但是验证码是要我们自己输入的!

只要我们登录进去了,就会给我们返回一个

在这里插入图片描述
这样绿油油的个人页面,让我很不舒服,为什么要这么绿色???

我记得绿加红是王八来的……

在这里插入图片描述

啊啊

好的,快让我们直接上代码吧,哦~我亲爱的各位观众姥爷们已经迫不及待的要学习了嘛,好的好的,这就给各位上菜!

在这里插入图片描述

首先呢,导入模块,没有异议吧,有的话也请坐下。

在这里插入图片描述
然后进行调用Session()方法,还有准备好伪装头,这一步肯定是没有异议的,如果有,那就是你昨天没有好好听讲,罚你到操作跑一百圈。

在这里插入图片描述
然后准备好两个url,第一个url是我们登陆的时候获取验证码需要用到的,第二个url呢,是我们模拟点击登录按钮,也就是找到了发送登录信息的接口,如果你这一块不明白的话,说明更前面的没有好好看啊,兄弟,不带这么跳着看的吧,而且一定没点赞吧,白嫖是不可以的!

在这里插入图片描述
我可不希望我亲爱的各位小粉丝,因为白嫖而……

咳咳,回到正题吧:

在这里插入图片描述
我们先把整个页面爬取下来,然后直接从页面这个页面里找到验证码的位置!

在这里插入图片描述
至于为什么要这么拼接,是因为:
在这里插入图片描述
在找到验证位置的时候,发现是不完整的验证码,所以我们需要把它拼接一下下。

然后再把验证码图片保存在本地:
在这里插入图片描述
接着接着接着,就开始了我们的最后一步,也就是昨天进行过的一步,登录!

在这里插入图片描述
这里为什么要这样写呢,就是…呀嘿,被水印挡住了,再截一个:

在这里插入图片描述
.text大家应该都能理解,.encode就是把这个text转换成这个格式,然后再decode转换成这个格式,只要知道大概意思是这样的就ok了。

为什么要这样转换呢?

因为我一开始也是直接用的text,但是发现保存下来的页面是有乱码的,所以才进行了转换格式,至于到底要怎么判断转换成什么格式比较好,这些呢,以后再说,或者加入我们的交流群,诶嘿嘿:
在这里插入图片描述
关于 源码呢,也会发布到这个群里,还有就是,如果各位有什么稀奇古怪的想法和项目,也可以到群里跟各位菜鸡一起讨论,毕竟三个猪八戒顶一个孙悟空嘛,所以大家要加油哦。

在这里插入图片描述
最后呢,再直接保存我们的详情页就好了,为什么可以直接保存呢??

因为你想啊,我们登录上去如果成功了是不是直接就给我们返回了一个个人详情页,不是说还要我们再次请求对吧,就是返回来的就是一个个人详情页,没有为什么,做就是了!

在这里插入图片描述

好的,今天有愉快的水完了一篇,看到这里,还是希望各位漂亮的小哥哥们能大发慈悲点一个赞,好不好啦~

如果有什么想说的,想问的,想想的,欢迎留言,或者加入交流群直接0距离击剑哦~

在这里插入图片描述

评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值