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爲安裝包

快捷方式的圖標.必須提前放在項目文件夾中,否則沒辦法在新建快捷方式的時候,顯示圖標

  • 第一步 : 全選所有文件,右鍵單擊添加到壓縮文件中

     

    添加到壓縮文件.png

  • 第二步 : 勾選自解壓選項和鎖定壓縮文件,並起一個高大上的名字

     

    配置自解壓和壓縮文件名.png

  • 第三步 : 選擇高級選項卡,點擊自解壓文件選項

     

    自解壓文件選項.png

  • 第四步 : 選擇高級選項卡, 點擊添加快捷方式

     

    點擊添加快捷方式.png

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

    快捷方式信息.png


    注意 : 快捷方式的圖標路徑是相對路徑,默認是項目的根路徑,也就是你全選所有文件打包的位置, 參考上圖中的圖標設置方式,直接寫的是項目根目錄下的圖標.ico. 快捷方式圖標必須是ico文件.. 其他圖標自己試驗.
  • 第六步 : 切換到更新選項卡,覆蓋方式,選擇覆蓋所有文件和解壓並替換文件

     

    更新設置.png

  • 第七步 : 文本和圖標設置,如下圖設置對應信息

     

    文本和圖標設置.png

  • 第八步 : 許可信息設置,如下圖設置對應信息

     

    許可信息設置.png

  • 第九步 : 模塊設置,如果程序不是64位,就選擇第一個就好

     

    模塊設置.png

結尾

建議打包後,自己安裝一次試試看看能不能正常運行.
使用WinRAR打包的程序其實就是綠色程序, 沒有註冊表等信息
卸載的時候直接刪除文件夾和對應的快捷方式就行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章