python 实现12306自动抢票

      春节临近越来越多的人需要买火车票了,然而网上那些或分享抢票链接或加钱抢票的软件并不能确定帮自己买到票,既然如此为什么不能自己实现抢票呢?所以在借鉴网上大神的成果基础上,自己也实现了python实时抢票的功能,并且打包成exe可执行文件,小白也能抢票啦!

         首先是下载12306-master GitHub地址:

        在windows直接用可能会遇到 [Errno 2] No such file or directory:  我是将路径写成绝对路径解决的,需要注意转意

self.executable_path = r'D:\experiments\12306-master\chromedriver.exe'

以上的写法容易出错,实际需要这样写(加一个反斜线):

        self.executable_path = r'D:\\experiments\\12306-master\\chromedriver.exe'

最后使用pyinstaller打包成exe,双击就可以自动抢票了,pyinstaller的使用方法如下:

安装pyinstaller

如果使用了VirtualENV环境,则必须在要打包的项目环境中安装... 否则会找不到项目需求的包和模块

pip install -i https://pypi.douban.com/simple pyinstaller

pyinstaller相关参数

-F : 打包成单个可执行文件
-w : 打包之后运行程序,只有窗口不显示命令行
-c : 打包之后运行程序,显示命令行

注意 : 如果使用 -F参数,会导致程序无法正常读取外部的配置文件,也许是我配置问题.具体依据自己测试. -w-c不可以同时使用. 看解释就明白了.. 这俩冲突

打包命令

程序入口文件必须在项目根目录,要不貌似无法正常找到项目需求的模块什么的,也许是我设置问题,具体自行测试

# 打开CMD或者终端,切换到项目根目录
pyinstaller -w <程序入口文件名>.py

注意 : 打包过程中可能会报出一堆,找不到api-xxx-xxx-xx.dll之类的警告,我打包之后运行程序没问题... 这个也自行测试.

打包完成标志

项目目录下存在builddist<入口程序文件名>.spec
其中打包好的可执行程序在dist目录中就能看见, 其他;两个文件没什么卵用,可以直接删除.

使用WinRAR封装打包好的exe为安装包

快捷方式的图标.必须提前放在项目文件夹中,否则没办法在新建快捷方式的时候,显示图标

  • 第一步 : 全选所有文件,右键单击添加到压缩文件中

     

    python 实现12306自动抢票_第1张图片

    添加到压缩文件.png

  • 第二步 : 勾选自解压选项和锁定压缩文件,并起一个高大上的名字

     

    python 实现12306自动抢票_第2张图片

    配置自解压和压缩文件名.png

  • 第三步 : 选择高级选项卡,点击自解压文件选项

     

    python 实现12306自动抢票_第3张图片

    自解压文件选项.png

  • 第四步 : 选择高级选项卡, 点击添加快捷方式

     

    python 实现12306自动抢票_第4张图片

    点击添加快捷方式.png

  • 第五步 : 如下图配置快捷方式信息

    python 实现12306自动抢票_第5张图片

    快捷方式信息.png


    注意 : 快捷方式的图标路径是相对路径,默认是项目的根路径,也就是你全选所有文件打包的位置, 参考上图中的图标设置方式,直接写的是项目根目录下的图标.ico. 快捷方式图标必须是ico文件.. 其他图标自己试验.
  • 第六步 : 切换到更新选项卡,覆盖方式,选择覆盖所有文件和解压并替换文件

     

    python 实现12306自动抢票_第6张图片

    更新设置.png

  • 第七步 : 文本和图标设置,如下图设置对应信息

     

    python 实现12306自动抢票_第7张图片

    文本和图标设置.png

  • 第八步 : 许可信息设置,如下图设置对应信息

     

    python 实现12306自动抢票_第8张图片

    许可信息设置.png

  • 第九步 : 模块设置,如果程序不是64位,就选择第一个就好

     

    python 实现12306自动抢票_第9张图片

    模块设置.png

结尾

建议打包后,自己安装一次试试看看能不能正常运行.
使用WinRAR打包的程序其实就是绿色程序, 没有注册表等信息
卸载的时候直接删除文件夹和对应的快捷方式就行

python 实现12306自动抢票_第10张图片

python 实现12306自动抢票_第11张图片

你可能感兴趣的:(p')