欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学会这个Python库,至少能减少100行代码

程序员文章站 2022-04-05 22:54:54
...

写在前面

梦想橡皮擦,一个立志成为IT圈有影响力的人,到今天,我已经实现了10%

今天打算写爬虫系列的文章,浏览过程中到达了知乎,看到了很多健身妹子,恩,身材很好,心中灵光一闪就想爬下来,存档。作为一个勉强算是爬虫已经入门的小菜来说,这个简单的不行,一顿操作之后,发现卡在了知乎登录上,原计划自己写个模拟登录,后来一琢磨,不想造*了,去github上找一个现成的不香吗?

于是乎,有了这篇文章

DecryptLogin库

项目源码:https://github.com/CharlesPikachu/DecryptLogin

该项目就是用来实现各种登录的一个库,并且项目的声明非常有那味儿

项目声明
本项目仅供python爱好者学习使用, 若作者发现该项目以任何不正当方式被使用, 将立即删除该项目。
希望大家合理利用该项目????

恩,这个项目是给爱好者用的,如果你干坏事,我就删掉这个项目,非常nice。

一个库好不好,记得咱们怎么判断么,看他的文档写的好不好,文档好,库一般不会差

中文文档:https://httpsgithubcomcharlespikachudecryptlogin.readthedocs.io/zh/latest/index.html

打开看一下,发现支持的平台还不少,并且这个库在3天前还在更新(今天是2020年6月19日),证明库还是在维护中的。

学会这个Python库,至少能减少100行代码

编码时间

具体的细节不在赘述,这个库能跑起来是基本前提,走起

pip install DecryptLogin --upgrade

安装过程,不报错,错了就咋办,切换源,当然这个库需要的Python3.6以上版本

DecryptLogin相关依赖包需求如下:
rsa >= 4.0
qrcode >= 6.1
pillow >= 6.0.0
requests >= 2.22.0
pycryptodome >= 3.8.1
requests_toolbelt >= 0.9.1
PyExecJS >= 1.5.1 (测试时使用的Node.js版本为v10.15.3)

学会这个Python库,至少能减少100行代码

接下来就可以快速开始了,官方文档给的也非常简单

三行代码实现模拟登录

这个标题,隐隐中有我一行代码称为女神同桌的内涵:https://blog.csdn.net/hihell/article/details/106566330

三行代码之后,就那么猝不及防的成功了,当然过程里面我还输入了一个验证码。

from DecryptLogin import login

lg = login.Login()
infos_return, session = lg.zhihu(username='你的账号', password="你的密码")

print(infos_return,session)

学会这个Python库,至少能减少100行代码
更妙的是,验证码处理还可以支持 打码平台对接,这个已经比较完善了,对于我们刚开始的模拟登录的目标已经足够用了

from DecryptLogin import login

'''定义验证码识别函数'''
def crackvcFunc(imagepath):
    # 打开验证码图片
    img = Image.open(imagepath)
    # 识别验证码图片
    result = IdentifyAPI(img)
    # 返回识别结果(知乎为数字验证码)
    return result

lg = login.Login()
infos_return, session = lg.zhihu(username='Your Username', password='Your Password', crackvcFunc=crackvcFunc)

写在后面

如果你不想造*了,直接用该开源项目是可以的,当然打开他的源码,好好分析一下,临摹一下,还是能学到非常多的东西,而临摹在学习初期是最好,也是最有效的学习方式

学会这个Python库,至少能减少100行代码

很多时候,我们无法解决技术问题,不是因为我们技术不行,而是因为我们不知道怎么才行

本篇文章希望你从今天可以听说竟然有一款DecryptLogin库。
如果你想跟博主建立亲密关系,可以关注博主,或者关注博主公众号“非本科程序员”,了解一个非本科程序员是如何成长的。
博主ID:梦想橡皮擦,希望大家点赞、评论、收藏