python编写12306窗体抢票软件(一)
python编写12306窗体抢票软件(一)
第一次写博客,拿写过的软件练个手~
12306是学习爬虫的比较好的一个练手网站。本文带你重零开始编写一个python窗体,十分简单,小白进来看哈~这节只说怎么编写窗体界面,下节介绍12306的登录
准备环境:win10 ,python3.5,pycharm
1.先看下最后成果,能够抢票哦
这是登录界面,用QtDesigner设计的十分方便
这是登录进来后的界面,查询完余票后,选择乘客,车次,座位,就可以购票了,如果显示有票,就直接点普通预定,预定成功后就会给你的邮箱发送一条通知,然后登录你的12306就可以看到未支付的订单啦!
2.代码介绍
1 界面编写
推荐用PyQt5去写界面,再安装下QtDesigner,就能很方便的设计窗体界面,拖拽按钮什么的,最后转换成.py文件,非常简单。这部分可以自行百度,十分多的教程。
因为我有两个窗体界面,所以写了两个类,在主程序中实例化它们,再添加功能代码
from PyQt5 import QtGui, QtWidgets,QtCore
from apprenace import Ui_Apprenace
from Login import Ui_Login
class Ui_Apprenace(QtWidgets.QWidget,Ui_Apprenace):
def __init__(self):
super(Ui_Apprenace, self).__init__()
self.setupUi(self)
self.timecount = 0
self.Logout.clicked.connect(self.logoutEvent)
self.Check.clicked.connect(self.FindTickets)
self.Buybtn.clicked.connect(self.BuyTicket)
self.Autobuyticket.clicked.connect(self.autoBuyticket)
self.Seatbtn.currentTextChanged.connect(self.ChooseSeat)
#定义登出按钮的功能
def logoutEvent(self):
self.hide() #隐藏此窗口
self.log = Ui_Login()
self.log.show() #显示登录窗口
def FindTickets(self):
def ChooseSeat(self):
##省略
def FindPeople(self):
##省略
def BuyTicket(self):
##省略
def autoFindticket(self):
##省略
def autosubmitorder(self): 购票按钮触发事件
##省略
class Ui_Login(QtWidgets.QMainWindow, Ui_Login):
def __init__(self):
super(Ui_Login, self).__init__()
self.setupUi(self)
self.logbtn.clicked.connect(self.loginEvent)
self.qucikLog.clicked.connect(self.checkLog)
self.getpic()
def checkLog(self):
#定义登录按钮的功能
def loginEvent(self):
def getpic(self):
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
login_show = Ui_Login()
login_show.show()#界面类实体化
sys.exit(app.exec_())
窗体界面写好后,能够实现互相跳转后,接下来就可以加入12306抢票的代码啦!
2 QtDseginer和PyUIC安装的一些坑
pyQt5很好安装,pip 命令就可以了
pycharm 点击File>Settings>Tools>External Tools
点 + 号,然后按照我这个去写
Qtdesigner的
Program: C:\python35\Lib\site-packages\pyqt5-tools\designer.exe
Working directory:C:\python35\Lib\site-packages\pyqt5-tools
PyUIC的
Program: C:\python35\python.exe
Arguments: -m PyQt5.uic.pyuic -o .py
(这个是最坑的 我这个是正确的,这句话意思就是把.ui文件转换成.py文件)
Working directory:G:\RobTickets(这个路径是你这个.ui文件存放的路径,自己选择)
3 下次我写12306获取验证码和登录的博客!
第一次写,多多关注!感谢,不清楚的可以再底下问我