[Python] 纯文本查看 复制代码import tkinter as tk

from tkinter import ttk

import requests,os,urllib3,time,hashlib,json

from lxml import etree

class PyWinDesign:

def __init__(self, 启动窗口):

self.启动窗口 = 启动窗口

self.启动窗口.title('学小易查题接口PC ——by 浅山藏')

self.启动窗口.resizable(width=True, height=True)

screenwidth = self.启动窗口.winfo_screenwidth()

screenheight = self.启动窗口.winfo_screenheight()

size = '%dx%d+%d+%d' % (596, 430, (screenwidth - 596) / 2, (screenheight - 430) / 2)

self.启动窗口.geometry(size)

self.标签1_标题 = tk.StringVar()

self.标签1_标题.set('账号:')

self.标签1 = tk.Label(self.启动窗口,textvariable=self.标签1_标题,anchor=tk.W)

self.标签1.place(x=380,y=19,width=35,height=25)

self.标签2_标题 = tk.StringVar()

self.标签2_标题.set('密码:')

self.标签2 = tk.Label(self.启动窗口,textvariable=self.标签2_标题,anchor=tk.W)

self.标签2.place(x=381,y=50,width=36,height=27)

self.编辑框1 = tk.Text(self.启动窗口,wrap=tk.NONE)

self.编辑框1.insert(tk.END,'')

self.编辑框1.place(x=438,y=19,width=150,height=25)

self.编辑框2_标题 = tk.StringVar()

self.编辑框2 =tk.Entry(self.启动窗口, textvariable=self.编辑框2_标题, show='*')

self.编辑框2.place(x=438,y=54,width=150,height=25)

self.按钮1_标题 = tk.StringVar()

self.按钮1_标题.set('登录')

self.按钮1 = tk.Button(self.启动窗口,textvariable=self.按钮1_标题,command=self.按钮1_被鼠标左键单击)

self.按钮1.place(x=483,y=90,width=56,height=41)

self.编辑框3 = tk.Text(self.启动窗口,wrap=tk.NONE)

self.编辑框3.insert(tk.END,'')

self.编辑框3.place(x=22,y=26,width=332,height=55)

self.按钮2_标题 = tk.StringVar()

self.按钮2_标题.set('查题')

self.按钮2 = tk.Button(self.启动窗口,textvariable=self.按钮2_标题,command=self.按钮2_被鼠标左键单击)

self.按钮2.place(x=40,y=92,width=80,height=40)

self.按钮3_标题 = tk.StringVar()

self.按钮3_标题.set('备用查题')

self.按钮3 = tk.Button(self.启动窗口,textvariable=self.按钮3_标题,command=self.按钮3_被鼠标左键单击)

self.按钮3.place(x=250,y=92,width=80,height=40)

self.编辑框4_滚动条_纵 = tk.Scrollbar(self.启动窗口)

self.编辑框4_滚动条_纵.place(x=568,y=147,width=18,height=275)

self.编辑框4 = tk.Text(self.启动窗口,yscrollcommand=self.编辑框4_滚动条_纵.set,wrap=tk.WORD)

self.编辑框4_滚动条_纵.config(command=self.编辑框4.yview)

self.编辑框4.insert(tk.END,'')

self.编辑框4.place(x=13,y=147,width=555,height=275)

url = 'http://www.iyuji.cn/iyuji/s/anZ1T2k2UG9Hak1FdHhmalZ5YmpiUT09/1593538728082638'

req = requests.get(url).text

html = etree.HTML(req)

txts = html.xpath('//*[@class="vp_text"]/p')

ti = ''

for txt in txts:

txt = txt.xpath('.//text()')[0]

ti = ti + txt + '\n'

self.编辑框4.insert(tk.END,ti)

self.编辑框4.insert(tk.END,'\n')

if os.path.exists('.\\token.txt'):

self.编辑框4.insert(tk.END,'检测到token,无需登录,若查题失败请尝试重新登录\n本软件只调用接口,如若封号,概不负责\n备用查题无需登录,但题量可能较少\n——by 浅山藏')

f = open('token.txt')

global token

token = f.read()

else:

self.编辑框4.insert(tk.END,'请先用学小易账号密码进行登录\n本软件只调用接口,如若封号,概不负责\n备用查题无需登录,但题量可能较少\n——by 浅山藏')

def 按钮1_被鼠标左键单击(self):

self.编辑框4.delete('1.0','end')

user = self.编辑框1.get('0.0','end')

password = self.编辑框2.get()

url = 'https://app.51xuexiaoyi.com/api/v1/login'

data = {

'username':user,

'password':password

}

t_t = str(int(time.time()*1000))

headers ={

"Host":"app.51xuexiaoyi.com",

'device': 'Al5tmwTm9rTIOttQ3xHaJ00afNLO15wEkPnMUK3W_xce',

'platform': 'android',

'app-version': '1.0.6',

't':t_t,

's':'939aea07176a02feba86a1b277d9a129',

'Accept-Encoding': "gzip",

'User-Agent': 'okhttp/3.11.0'

}

req = requests.post(url,headers=headers,data=data,timeout=20).json()

code = req['code']

if code ==200:

self.编辑框4.delete('1.0','end')

self.编辑框4.insert(tk.END,'登录成功\n——by 浅山藏')

global token

token = req['data']['api_token']

f = open('token.txt','w')

f.write(token)

f.close()

else:

self.编辑框4.insert(tk.END,'登录失败,请检查账号密码重试\n——by 浅山藏')

def 按钮2_被鼠标左键单击(self):

try:

self.编辑框4.delete('1.0','end')

keyword = self.编辑框3.get('0.0','end')

url ='https://app.51xuexiaoyi.com/api/v1/searchQuestion'

global token

t_t = str(int(time.time()*1000))

headers = {

"Host":"app.51xuexiaoyi.com",

'token': token,

'device': 'Al5tmwTm9rTIOttQ3xHaJ00afNLO15wEkPnMUK3W_xce',

'platform': 'android',

'app-version': '1.0.6',

't':t_t,

's':'939aea07176a02feba86a1b277d9a129',

'Accept-Encoding': "gzip",

'User-Agent': 'okhttp/3.11.0'

}

data = {

"keyword":keyword

}

req = requests.post(url,headers=headers,data=data,timeout=20).json()

answers = ''

for i in range (0,len(req['data'])):

question = req['data'][i]['q']

answer = req['data'][i]['a']

answers = answers + '题目:'+question + '\n' +'答案:'+ answer +'\n\n'

self.编辑框4.insert(tk.END,answers)

except:

hui = req['msg']+'\n'+'如果您被封号,请不要再使用本版本,十分抱歉\n可以采用备用查题进行查题\n ——by.浅山藏'

self.编辑框4.insert(tk.END,hui)

def 按钮3_被鼠标左键单击(self):

try:

try:

self.编辑框4.delete('1.0','end')

keyword = self.编辑框3.get('0.0','end')

url = 'http://tiku.xuexibao.tech/api/mobile/Index/searchQuestion'

headers = {

'authorization':'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vdGlrdS54dWV4aWJhby50ZWNoL2FwaS9tb2JpbGUvSW5kZXgvYXBwTG9naW4iLCJpYXQiOjE1OTM0Nzk4ODQsImV4cCI6MTkwODgzOTg4NCwibmJmIjoxNTkzNDc5ODg0LCJqdGkiOiI3TzFCVHkxT1VlWkNnaTFmIiwib3BlbklkIjoib1JFNXIxS001ejkyOFRQRXY5LXVTZm1nSkpXQSIsIndlY2hhdF9pZCI6Im9SRTVyMUtNNXo5MjhUUEV2OS11U2ZtZ0pKV0EiLCJ1bmlvbmlkIjoib3EySG8xWlJqOENUMmxsQlpONkNqbHJEZ19TSSIsImdvbmd6aG9uZyI6InpodWtlYmFvIn0.jzFyB7yrrFueRO-UkWPQKZqa4JPdXQZYA1KkwIQt5xg',

'appVersion':'1.0.7',

'osVersion':'10',

'jsVersion':'',

'appName':'??',

'deviceModel':'MI 8',

'deviceId':'',

'platform':'android',

'user-agent': 'MI 8(Android/10) (???/1.0.7) Weex/0.18.0 1080x2115',

'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',

'Host': 'tiku.xuexibao.tech',

'Connection': 'Keep-Alive',

'Accept-Encoding': 'gzip'

}

data = {

'goods_id':'6116',

'index':'0',

'content':keyword,

'sign':'6fc87ae8bd7b2cdd95ac3cbafe50885503ceceed'

}

req = requests.post(url,headers=headers,data=data,timeout=20).json()

answers = ''

for i in range (0,len(req['data'])):

question = req['data'][i]['question']

answer = req['data'][i]['answer']

answers = answers + '题目:'+question + '\n' +'答案:'+ answer +'\n\n'

self.编辑框4.insert(tk.END,'接口1:\n')

self.编辑框4.insert(tk.END,answers)

except:

self.编辑框4.insert(tk.END,'接口1:\n')

self.编辑框4.insert(tk.END,'查题失败\n')

##########接口二#########

try:

url = 'http://api.xmlm8.com/'

data = {

'w':keyword

}

req = requests.post(url,data=data,timeout=20)

html = etree.HTML(req.text)

t = html.xpath('/html/body/div[2]/span[1]/text()')[0]

a = html.xpath('/html/body/div[2]/span[2]/text()')[0]

answers = t + '\n' + a +'\n\n'

self.编辑框4.insert(tk.END,'接口2:\n')

self.编辑框4.insert(tk.END,answers)

except:

self.编辑框4.insert(tk.END,'接口2:\n')

except:

self.编辑框4.insert(tk.END,'查题失败,可能接口已失效')

if __name__ == '__main__':

root = tk.Tk()

root.attributes("-alpha",1)

root.attributes("-topmost", True)

app = PyWinDesign(root)

root.mainloop()

学小易有微型计算机接口答案吗,学小易接口更新+新的接口+成品相关推荐

  1. 工程图学及计算机绘图第二版答案,工程图学及计算机绘图第3版答案

    参考答案如下 工程Roommate conflicts are part of manu people's college experiences and can be ________. (stre ...

  2. 工程图学及计算机绘图第二版答案,工程图学及计算机绘图: 非机类

    摘要: 本教材适用于化学工程,材料工程.电器工程及其他悲观机械类,非土建类专业.计划学时40至80学时,凡是带有星号的内容,可由教师根据不同专业和不同计划学时数,选择使用.为了适应"甩图板& ...

  3. 工程图学及计算机绘图第二版答案,工程图学及计算机绘图习题集 第3版

    图书简介 本习题集与宋卫卫等主编的<工程图学及计算机绘图>(第3版)教材配套使用.本套教材是根据教育部高等学校工程图学教学指导委员会制定的"普通高等院校工程图学课程教学基本要求& ...

  4. 合肥工业大学计算机考研试题,2016年合肥工业大学计算机考研真题及答案

    2016年合肥工业大学计算机考研真题及答案 合肥工业大学 2016年招收攻读硕士研究生入学考试试题 试题名称:计算机试题代码:(所有答案必须写在答题纸上,写在试题或草稿纸上一律无效) 一.单项选择题, ...

  5. 微型计算机惠普1hm20av,微型计算机原理答案(1)

    微型计算机原理答案(1) (25页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 微矍机憑理及接口技术参考篆亲第一章微型计算机系统慨论一. ...

  6. NAS聪明如人? 如何自己寻找答案!道翰天琼认知智能机器人API平台接口为您揭秘。

    NAS聪明如人? 如何自己寻找答案!道翰天琼认知智能机器人API平台接口为您揭秘. 近期,神经网络结构搜索 (NAS)引起了学界和工业界的高度关注.目前,NAS已在很多任务(尤其是CV相关任务)上得到 ...

  7. vue怎么插入接口demo_前端学起来特别吃力,新人入前端怎么学?

    最近知乎收到一些问题,问前端学起来吃力,连续更新几次回答的比较全了.现在整理下分享给掘金的小伙伴们. 原知乎问题: 前言 前端工作两年多.大部分前端原理.框架都能完全运用.工作中几乎遇不到解决不了的问 ...

  8. java考试安徽工业大学_2011~2012《Java语言程序设计》试卷A及答案(安徽工业大学)...

    <2011~2012<Java语言程序设计>试卷A及答案(安徽工业大学)>由会员分享,可在线阅读,更多相关<2011~2012<Java语言程序设计>试卷A及 ...

  9. java 观察者模式_重学 Java 设计模式:实战观察者模式「模拟类似小客车指标摇号过程,监听消息通知用户中签场景」...

    一.前言 知道的越多不知道的就越多 编程开发这条路上的知识是无穷无尽的,就像以前你敢说精通Java,到后来学到越来越多只想写了解Java,过了几年现在可能想说懂一点点Java.当视野和格局的扩大,会让 ...

  10. 易语言让我东山再起 邓学彬(优秀文章)

    易语言让我东山再起 ----邓学彬(论坛呢称:泪闯天涯) 大家好,在这里我来说一下我接触易语言的经过. 我的老家是一座小城市:江西井冈山,革命老区的经济很落后,没什么就业机会,所以我在小学毕业之后就出 ...

最新文章

  1. C语言实现RC4序列密码
  2. 基于clang插件的一种iOS包大小瘦身方案
  3. 最近工程师怎么都在写公众号?这玩意到底能赚多少钱?
  4. python3 重新学习
  5. linux iopen i2c dev,i2c-dev - Linux驱动子系统之I2C_Linux编程_Linux公社-Linux系统门户网站...
  6. javaI/O流小结
  7. html-iframe内联框架
  8. phpcmsV9正常安装后,后台管理员不存在? phpmyadmin无法打开?
  9. c语言链表版百度云,链表详解(C语言版)
  10. Optional Chaining 进入 ES2020,不用满屏`x x.yyy`了
  11. 接口访问次数_如何基于spring开发自定义注解实现对接口访问频次限制?
  12. 随便玩玩Django--输入网址生成二维码
  13. qt中如何使用mysql_qt中如何使用mysql 以及静态编译qt中如何加上mysql(1)
  14. 在Android Studio 中使用Assets资源文件
  15. python充分理解def语句
  16. 程序上线【起飞检查清单】-让事故和教训转变为实用的清单
  17. VFB直接使用TCP发送电子邮件源码
  18. 为什么会出现403 Forbidden错误?三分钟教你快速解决问题!
  19. vivo x60pro刷机鸿蒙,vivoX60Pro+玩机技巧-有哪些黑科技
  20. Android WebView点击返回键回到上一个html

热门文章

  1. showModalDialog()、showModelessDialog()方法使用详解
  2. css/js解决 页面多次点击时出现部分蓝色
  3. mybatis简单查询
  4. 四川省巴中市谷歌高清卫星地图下载
  5. 2个或2个以上路由器串联上网,在同一网段
  6. CodeWarrior for S12(X) V5.1 Special详细安装过程
  7. pycharm报错The directory *** is registered as a Git root与 Can't start Git: git.exe
  8. 百果园APP产品迭代
  9. 非常实用的10款网站数据实时分析工具(强烈推荐)
  10. 国外广告联盟骗局汇总(持续更新中)