昨天有很多同学在朋友圈秀六级成绩

一个个都如(sang)此(jin)优(tian)秀(liang)

当然也有悲催的哥们

对于上面这位老弟

我只能说:骚呢,兄弟

这种事都能赶上,必须点赞

一、需求分析

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

二、功能设计

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

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

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

查成绩:首先我们通过requests库去学信网查询成绩

生成截图:查完成绩之后就直接生成截图,截图最好只有中奖有效信息部分

打码:对于准考证号进行打码

三、技术实现

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

1.查询四六级成绩

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

然后我们就可以在Network看到第一个请求就是获取四六级结果的请求

拿到URL我们就可以开始使用requests库模拟请求啦,非常简单的一个post方法!

来看看返回的结果,是一个html网页!

2.使网页生成图片

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

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

猪哥事先已经把他们都下载放在百度网盘里:wkhtmltopdf软件下载链接:https://pan.baidu.com/s/11VOo... 密码: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')

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

用这个图片去发朋友圈别人可能会骂你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的可玩性,将技术应用于生活,装逼就可以无处不在!

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

python基础教程四级查数据_四六级成绩还可以这样查?Python助你装B一步到位!!!...相关推荐

  1. python基础教程pdf刘浪_《Python基础教程(第3版)》 PDF高清完整版_初学者如何学习Python...

    <Python基础教程(第3版)> PDF高清完整版 初学者如何学习Python 内容简介 本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基 ...

  2. python基础教程廖雪峰云-为什么看不懂廖雪峰的Python学习教程?

    廖雪峰的Python教程已经很友好了,接近于把饭喂到嘴边了. 这不是廖雪峰教程的问题,而是一个基础代码技能和实际应用需求的代码技能差距太远导致的. 如果是新手,只学会了廖雪峰Python教程,那约等于 ...

  3. python基础教程:强制数据类型转换教程及实例

    1.字符强转一切 如果是字符串进行强制转换, 仅仅就是在原数据类型的两边套上引号 2.list : 强制转换成列表 如果是字符串,会把每一个字符都单独作为一个元素放到新的列表中 如果是字典,只保留键, ...

  4. python基础教程书在线阅读_《Python基础教程》Magnus Lie Hetland著【摘要 书评 在线阅读】-苏宁易购图书...

    章快速改造:基础知识1 1.1安装Python1 1.1.1Windows1 1.1.2Linux和UNIX3 1.1.3苹果机(Macintosh)4 1.1.4其他发行版本5 1.1.5时常关注, ...

  5. python基础教程博客园_博客园 首页 新随笔 联系 订阅 管理 Python操作M|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 1.简介 MongoDB是一个基于分布式文件存储的文档数据库,可以说是非关系型(NoSQL,Not Onl ...

  6. python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...

  7. linux中python如何调用matlab的数据_特征锦囊:如何在Python中处理不平衡数据

    今日锦囊 特征锦囊:如何在Python中处理不平衡数据 ? Index 1.到底什么是不平衡数据 2.处理不平衡数据的理论方法 3.Python里有什么包可以处理不平衡样本 4.Python中具体如何 ...

  8. python基础教程知识点_Python基础教程学习应该掌握的知识点总结

    很多人都想要Python的入门方法以及知识,参加Pythone培训班的同学也不例外.那么今天小编就来给大家分享一下零基础学习Python应该掌握的知识点总结. Python基础教程与高级编程 1.Li ...

  9. Python 基础教程(第2版) 中文版+英文原版下载

    Python基础教程 (第2版) 中文高清PDF版 Beginning Python: From Novice to Professional, 2nd Edition 转载于:https://www ...

  10. Python基础教程:用Python怎么telnet到网络设备

    Python基础教程:用Python怎么telnet到网络设备 0.前言 Telnet协议属于TCP/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但 ...

最新文章

  1. 如何做一款成功的APP应用
  2. 史上最全搞怪WC标志(组图)--设计者太有才了。
  3. 【好文】为什么必须学好.Net Core?怎样弯道超车新年高薪?这样做,一周就够了!(文末彩蛋)...
  4. MachineLearning(2)-图像分类常用数据集
  5. 抖音联合九大博物馆推出“云游”活动 网友可在家看展
  6. log4j2 配置详解及使用范例
  7. [转载] Python程序将十进制转换为二进制,八进制和十六进制
  8. Java 集合处理/ 空值处理/ 异常处理,使用心得分享!
  9. Winsock传输数据
  10. Python 爬虫学习笔记(七(2))JsonPath解析+实战
  11. java 游戏背景mp3音乐_java飞机大战(带背景音乐) 游戏原码下载
  12. Mac上iPad Pro高清桌面动态壁纸
  13. 使用SPFx一行代码实现Office 365文档库Modern UI中批量签出文档
  14. Win7旗舰版电脑插耳机没声音怎么解决
  15. OpenCV的基本矩阵操作与示例
  16. 自然语言处理技术的三个里程碑
  17. PMP备考大全:经典题库(7月第2周)
  18. 国通总结——如何获取客户的双录视频
  19. 【转】利用kali破解wifi密码全过程
  20. 2010年月最新剑侠世界(剑侠情缘叁)(金山)CDKey :72099025

热门文章

  1. UPnP的介绍和理解
  2. 无奇不有,20款国外便携式智能手机充电器
  3. Dubbo metrics学习总结
  4. 2018第九届蓝桥杯B组决赛题解第四题 调手表(BFS)
  5. Outlook2016 使用技巧
  6. AIX补丁中TL、SP、CSP、IF、PTF的含义
  7. 渗透工具-TrustedSec 公司的渗透测试框架 (PTF)
  8. 永别了,91网站!宣布永久关闭
  9. 太阳系混的最惨行星:被“降级”至今未归队
  10. 庖丁解牛 - 图解MySQL 8.0优化器查询解析篇