python编写12306窗体抢票软件(一)

python编写12306窗体抢票软件(一)

第一次写博客,拿写过的软件练个手~
12306是学习爬虫的比较好的一个练手网站。本文带你重零开始编写一个python窗体,十分简单,小白进来看哈~这节只说怎么编写窗体界面,下节介绍12306的登录
准备环境:win10 ,python3.5,pycharm

1.先看下最后成果,能够抢票哦

python编写12306窗体抢票软件(一)

这是登录界面,用QtDesigner设计的十分方便
python编写12306窗体抢票软件(一)
这是登录进来后的界面,查询完余票后,选择乘客,车次,座位,就可以购票了,如果显示有票,就直接点普通预定,预定成功后就会给你的邮箱发送一条通知,然后登录你的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

python编写12306窗体抢票软件(一)
点 + 号,然后按照我这个去写
Qtdesigner的
Program: C:\python35\Lib\site-packages\pyqt5-tools\designer.exe

Working directory:C:\python35\Lib\site-packages\pyqt5-tools
python编写12306窗体抢票软件(一)
PyUIC的
Program: C:\python35\python.exe
Arguments: -m PyQt5.uic.pyuic FileNameFileName -o FileNameWithoutExtensionFileNameWithoutExtension.py

(这个是最坑的 我这个是正确的,这句话意思就是把.ui文件转换成.py文件)

Working directory:G:\RobTickets(这个路径是你这个.ui文件存放的路径,自己选择)

3 下次我写12306获取验证码和登录的博客!

第一次写,多多关注!感谢,不清楚的可以再底下问我