昨天,很多同学在朋友圈晒出了自己的成绩。皆如(唱)此(jin)优(tian)秀(liang),兄弟们能赶上这种东西,一定要点个赞1.需求分析浏览朋友圈的时候,看到很多同学截图不规则(没错,猪哥处女座),有的准考证号没有马赛克,所以朱哥就在想,能不能用Python生成四六年级的截图,最好自动编码,直接发朋友圈,一步到位假装!(别人是在晒成绩,你不仅可以晒成绩,Python也可以)2.功能设计很多同学会模仿别人的代码,但是不知道怎么做一些小项目。事实上,问题是:你不知道从哪里开始!作为一个开发者,在工作中总是要满足需求的,所以做自己项目的第一步就是:弄清楚自己要做什么(功能),然后把功能量化,一步步去实现!接下来,我们就来看看今天有哪些有趣的事情吧!查看结果:首先我们去学信网通过requests库查看结果生成截图:查看结果后直接生成截图。截图中最好只有中奖的有效信息。代码:对准考证号进行编码3.技术实现确定要做的功能量化细分之后,我们就可以开始敲代码实现了。这里,我们就可以按照之前的细分步骤一步步实现!1.查询四六级成绩,首先我们要找到四六级的查询入口,这里是首选:https://www.chsi.com.cn/cet/i...然后我们调出调试窗口,输入准考证号和姓名。记得查看左上角的Preserve日志,然后我们可以看到Network中的第一个请求是获取level4和6的结果的请求,拿到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。可能有同学会问:为什么下载软件后还需要下载软件呢?两者之间是什么关系?这个库实际上相当于一个软件包装器。简单理解就是有了这个库,我们就可以直接用代码调用软件,而不用再像往常一样自己打开软件使用了!安装库:pipinstallimgkithtml转png图片,没看错只有一步!imgkit.from_file('cet.html','cet.png')注意:更多imgkit库的使用教程请看这里:https://pypi.org/project/imgkit/我先看看generatedpictures不正常,可以看到下图是生成了完成网页的截图!用这张图发朋友圈,别人可能会骂你sb,剪这么大的图,浪费别人的流量!图片太大了,我们尝试把图片切开,只留下中间结果信息!图片处理,当然需要用到我们经典的pillow库安装:pipinstallpillow剪切图片三行代码,这里我们将剪切好的图片保存为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.编码朱哥为什么要编码这个反男功能?原因是朱哥的测试号也是朋友圈看到的,所以在此告诫大家:一定要保护好自己的隐私,你永远不知道别人会用你的数据做什么!好吧,让我们回到代码。朱大哥打算继续用我们的枕头库。此外,我们还需要一个公共库numpy库。这两个库经常一起使用。因为一张图片是由很多像素点组成的,而每个像素点又是由rgb值组成的,所以可以将一张图片转换成多维数组,所以经常用到numpy库!编码的原理是修改需要编码的区域像素的rgb值。下面我们来看看coding的技术实现。朱大哥把coding代码封装成一个方法,通用,其他地方也可以用!这里只需要传递马赛克的大小和需要编码的坐标点即可。让我们来看看最终的效果吧!上图红色部分是后来朱哥画的。可以看到入场券号被猪哥用Python画上了邪恶的马赛克!4.总结今天的案例虽然简单,但是让我们看到了Python的可玩性,把技术应用到生活中,装逼无处不在!获取源码:关注微信公众号“裸睡猪”回复:第4、6级查询
