我用Python做了一个超级简单上手的中考成绩网页

原定于2022年7月12日出成绩的广州中考,却因为改卷老师的改卷速度,提前在2022年7月9日发布了成绩,别看这短短的三天,7月9日一出成绩,朋友圈哀嚎一片,大家都觉得今年的分数线太高了。就那我自己举例子,我的社交媒体中只有一两个考的不错的人公布了自己的成绩。然后,我就看到了一条来自我妈的转发信息。

请注意,本程序仅供学习使用,请不要用于任何非法用途


是这样的

还有两个不可思议的

虽然后边证实这些是假的,在感叹的同时,我也在心中有了一个小小的计划,咱们为何不能通过咱们的编程“造假”,在朋友圈当中转发一个实际上不是自己而是伪造的分数呢,于是,咱们说干就干!

文章目录

  • 捣鼓中考官方网页
  • 手动操作
  • 程序制作
  • 捣鼓中考官方网页

    首先咱们登录后点击“综合查询”,然后看一看咱们的分数页面

    然后一番操作之后,我们可以发现成绩页已经出现了

    然后,咱们CTRL+S 保存下整个页面 记得选择MHTML格式的

    然后,我们就可以获得整一个网页。我也将我自己保存下来的网站文件传到了网盘上边,所以大家点击这里,就可以下载了

    根据常识,我们可以得知,MHTML文件中的中文是采用Quoted-printable编码的。然后这个编码的方式就令我眼前一黑。最终在一番摸索下,我们终于知道了如何进行编解码。详细可以看看这位大佬的文章Python (巨蟒) 简易实现 quoted-printable 编码


    所以在上传的文件当中,其实考生名被我处理成了“我的名字”,那么接下来的一番操作,我们可以人工先尝试操作一遍,然后再让程序帮我们运行。

    手动操作

    http://www.hiencode.com/quoted.html

    这个网站可以帮我们完成Quoted-printable的编码,我们打开并选择gb2312的选项

    打开SublimeText,导入MHTML文件,按下CTRL+F 进行查找=C4=E3=B5=C4=C3=FB=D7=D6

    在工具中输入自己的名字,例如王大牛

    在Sublime Text中按下Ctrl+Shift+F 并将获得的编码复制到REPLACE的地方

    重新刷新页面可以看到,中考查询界面已经被我们更改

    接下来再用CTRL+SHIFT+F 查找搜索咱们的语文成绩,以上图的112为例

    然后咱们直接更改分数,动一动邪恶的小手指

    让老师们开心的事情发生了!

    但是我们还是可以看到下面有一些破绽,所以咱们继续更改

    更改一下这两行的一点点代码
    我们发现这简直是完美

    程序制作

    刚刚既然已经过足了手瘾,那么现在就是真正的时刻,我们应该用我们的代码知识来进行编程啦,在编程之前,我对下载下来的文本进行了一些处理,这对我们的后续编程工作有益。(实际上就是将几个难找的地方改成了中文)

    创建一个python文件,取名“HSEES Changers” HSEES是High school entrance examination scores的缩写。

    接收文件HSEES.mhtml


    创建函数,直接更改我们文件中的内容

    然后咱们完善一下这个时间这个小瑕疵,并在这里进行转换

    最后咱们使用最丑陋的控制台输入来进行整理

    于是,我们整一个程序就大功告成了!

    # HSEES 中考分数修改器
    # 请勿用于除学习外的任何非法用途
    import requests
    from bs4 import BeautifulSoup
    import datetime
    
    # 由于本人实在是搞不懂如何弄GBK编码所以只能在网上找了一个接口 该接口可能随时失效
    def requests_quopri(msg):
    	data = {
    		"text" : msg,
    		"flag" : "quoted",
    		"encode_flag" : "gbk"
    	}
    	quopri = requests.post("http://www.hiencode.com/ctf/ctf_encode",data = data)
    	quopri = quopri.text
    	# print(quopri)
    	soup = BeautifulSoup(quopri,"html.parser")
    
    	quopri_show = soup.div.div.pre.text
    	return quopri_show
    
    def changers(chi="120",mat="120",eng="120",pol="90",his="90",phy="100",che="100",pe="70",ms="810",same="1",name="王大牛",num="0112280000"):
    	qp_name = requests_quopri(name)
    	# print(qp_name)
    
    	# 获取时间
    	date = datetime.date.today()
    	year = date.year
    	month = date.month
    	day = date.day
    
    	now_date = str(year)+"年"+str(month)+"月"+str(day)+"日"
    	qp_date = requests_quopri(now_date)
    
    	with open("./HSEES.mhtml") as hsees:
    		hsees_line = hsees.read()
    		# print(hsees_line)
    
    		hsees_line = hsees_line.replace("语文",chi)
    		hsees_line = hsees_line.replace("数学",mat)
    		hsees_line = hsees_line.replace("英语",eng)
    		hsees_line = hsees_line.replace("道法",pol)
    		hsees_line = hsees_line.replace("历史",his)
    		hsees_line = hsees_line.replace("物理",phy)
    		hsees_line = hsees_line.replace("化学",che)
    		hsees_line = hsees_line.replace("体育",pe)
    		hsees_line = hsees_line.replace("总分",ms)
    		hsees_line = hsees_line.replace("同位号",same)
    
    		hsees_line = hsees_line.replace("名字",qp_name)
    		hsees_line = hsees_line.replace("学号",num)
    		hsees_line = hsees_line.replace("时间",qp_date)
    
    	with open("./FakeScore.mhtml","w+")as fs:
    		fs.write(hsees_line)
    		fs.close()
    
    def show_score():
    #chi="120",mat="120",eng="120",pol="90",his="90",phy="100",che="100",pe="70",ms="810",same="1",name="王大牛",num="0112280000"	
    	chi = input("请输入你的语文成绩:")
    	mat = input("请输入你的数学成绩:")
    	eng = input("请输入你的英语成绩:")
    	pol = input("请输入你的政治成绩:")
    	his = input("请输入你的历史成绩:")
    	phy = input("请输入你的物理成绩:")
    	che = input("请输入你的化学成绩:")
    	pe = input("请输入你的体育成绩:")
    	ms = int(chi)+int(mat)+int(eng)+int(pol)+int(his)+int(phy)+int(che)+int(pe)
    
    	import random
    	same = random.randint(1,100)
    	name = input("请输入你的名字:")
    	num = input("请输入你的学号:")
    
    	print("程序正在自动生成成绩中... 请稍后 ...")
    
    	changers(str(chi),str(mat),str(eng),str(pol),str(his),str(phy),str(che),str(pe),str(ms),str(same),str(name),str(num))
    
    	import os,webbrowser
    	webbrowser.open("file:///"+os.path.realpath("FakeScore.mhtml"))
    	
    show_score()
    

    祝福各位中考考生考上理想的高中呀!

    来源:地摊主老袁

    物联沃分享整理
    物联沃-IOTWORD物联网 » 我用Python做了一个超级简单上手的中考成绩网页

    发表评论