四六级成绩还可以这样查?Python助你装B一步到位!!!

昨天有很多同学在朋友圈秀六级成绩
一个个都如(sang)此(jin)优(tian)秀(liang)


在这里插入图片描述

当然也有悲催的哥们


在这里插入图片描述

对于上面这位老弟
我只能说:骚呢,兄弟
这种事都能赶上,必须点赞

一、需求分析

在刷朋友圈的时候,看到很多同学截图不规整啊(没错,猪哥处女座),有些准考证号还没打马赛克,于是猪哥就在想能不能用Python生个四六级成绩截图出来,最好还能自动打码,这样岂不是可以直接发朋友圈,装逼一步到位!(别人在秀成绩,你不光可以秀成绩,还可以秀Python)

二、功能设计

很多同学会模仿别人代码,而自己却不知道去如何做一些小项目,其实问题就是在于:你不知从何下手

作为开发人员在工作中都是接需求,所以自己做项目的第一步就是:搞清楚自己要做什么(功能),然后再去量化功能,分步实现!

接下来我们就来看看今天要做一个什么有趣的东西吧!

  1. 查成绩:首先我们通过requests库去学信网查询成绩
  2. 生成截图:查完成绩之后就直接生成截图,截图最好只有中奖有效信息部分
  3. 打码:对于准考证号进行打码

三、技术实现

确定了要做的功能并量化细分完毕后,我们就可以开始敲代码实现了,这里就按照之前细分的步骤一步一步实现就好了!

1.查询四六级成绩

首先我们需要找到四六级的查询入口,这里首选 学信网:https://www.chsi.com.cn/cet/index.jsp

然后我们调出调试窗口,输入准考证号和姓名。记得勾选左上角的Preserve log

在这里插入图片描述

然后我们就可以在Network看到第一个请求就是获取四六级结果的请求
在这里插入图片描述

拿到URL我们就可以开始使用requests库模拟请求啦,非常简单的一个post方法!
在这里插入图片描述

来看看返回的结果,是一个html网页!
在这里插入图片描述

2.使网页生成图片

这里我们会使用到一个软件wkhtmltopdf,注意这是一个软件而不是python库,我们先要安装这个软件!

官网下载地址:https://wkhtmltopdf.org/downloads.html ,注意这个网站下载需要打开VPN,不然下载超级慢!

猪哥事先已经把他们都下载放在百度网盘里:wkhtmltopdf软件下载链接:https://pan.baidu.com/s/11VOomkNch7C9m8lqlRaNAg 密码:4xuv

在这里插入图片描述

下载后直接安装就可!

Windwos系统同学需要注意:需要把wkhtmltopdf的bin执行文件路径添加到PATH变量中。
Windwos系统同学需要注意:需要把wkhtmltopdf的bin执行文件路径添加到PATH变量中。
Windwos系统同学需要注意:需要把wkhtmltopdf的bin执行文件路径添加到PATH变量中。

软件下载完成后我们还需要一个Python库:imgkit

也许会有同学问:为什么下载完软件还要下库?这两者有什么关系?这个库其实相当于软件的包装器,简单理解有了这个库我们就可以直接用代码调用软件,而不需要像平时那样需要自己去打开使用软件!

安装库:

pip install imgkit

将html转化为png图片,没看错就是只有一步!

imgkit.from_file('cet.html', 'cet.png')

注:关于imgkit库更多使用教程请看这里:https://pypi.org/project/imgkit/

我来看看看生成的图片是不是正常的,下图可以看到一个完成的网页截图就生成了!


在这里插入图片描述

用这个图片去发朋友圈别人可能会骂你sb,截个这么大的图浪费别人流量!

图片太大,我们想办法把图片截一下,只留下中间结果信息!

图像处理当然要使用我们经典的pillow库

安装:

pip install pillow

剪切图片三行代码搞定,这里我们将截好的图片保存为cut_cet.png

# 剪切图片
    img = Image.open('cet.png')
    cropped = img.crop((310, 300, 700, 700))  # (left, upper, right, lower)
    cropped.save("cut_cet.png")

看看截图后的效果,这样的图片才是一位合格的Python装逼工程师!


在这里插入图片描述

3.打码

为什么猪哥会想要打码这个反男性的功能呢?原因在于猪哥这个测试账号也是从朋友圈看到的,所以告诫大家:一定要保护好自己的隐私,你永远不知道别人会那你的数据去干嘛!

好了回到代码中来,打码猪哥准备继续使用我们的pillow库,另外还需要一个常用库numpy库,这两个库会经常一起使用。因为图片由许多个像素构成,而每个像素由rgb数值构成,所以就可以把一张图片转变为一个多维数组,所以numpy库就经常用到!

打码的原理就在于将需要打码区域的像素rgb值修改

我们来看看打码的技术实现,猪哥将打码的代码封装为一个方法,这是通用的,你可以用在其他地方!


在这里插入图片描述

这里只需要转入马赛克的大小和需要打码的坐标点就可以,我们来看看最终效果!


在这里插入图片描述

上图红色部分是猪哥后来画的,可以看到 准考证号已经被猪哥用Python画上邪恶的马赛克!

四、总结

今天的案例虽然简单,但是却让我们看到了Python的可玩性,将技术应用于生活,装逼就可以无处不在!

获取源码:关注微信公众号「裸睡的猪」 回复: 四六级查询

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容