ホームページ >システムチュートリアル >Linux >Python コードを使用して電車のチケットを自動的に取得する

Python コードを使用して電車のチケットを自動的に取得する

WBOY
WBOY転載
2024-04-25 08:25:29389ブラウズ

用 Python 代码自动抢火车票

市場に出回っている多くの鉄道切符取得ソフトウェアについては誰もがよく知っているはずですが、その実装方法を研究した人はほとんどいないため、神秘的だと思われていますが、実際は非常に簡単です。以下では、Python を使用してチケット取得プログラムをシミュレートし、チケット取得プロセスがどのようなものであるかを示します。

このコードは参考用であり、主に通信目的での使用は禁止されています。

特定のコードは次のとおりです。これを自分の 12306 ユーザー名アカウントに変更できます:

用 Python 代码自动抢火车票

準備ツール
  • 12306 ウェブサイトのユーザー名とパスワード
  • パイソン
  • ChromeブラウザとChromeドライバーをダウンロード
  • Python コードを次の場所からダウンロードします: https://github.com/ppy2790/tickets

コードは Python+Slinter を使用して開発されています。Splinter は、Python を使用して開発されたオープンソースの Web アプリケーション テスト ツールであり、サイトを自動的に参照して操作するのに役立ちます。スプリンター公式サイト

http://splinter.readthedocs.io/en/latest/ 。 Splinter を実行すると、指定したブラウザが自動的に開き、指定した URL にアクセスします。開発したシミュレーションの動作はすべて自動的に完了し、コンピューターの前に座って、映画を見るように画面上のさまざまなアクションが自動的に完了し、結果を収集するのを確認するだけです。

原理を理解する

対応する URL を見つけて、ログイン、クエリ、チケット予約操作をシミュレートするためのコントロールを見つけます。重要なのは、コントロールの名前を見つけることです。難しいのは、開始点が直接入力されたページ値ではなく、Cookie 内で見つける必要があることです。

  • 12306クエリURL: https://kyfw.12306.cn/otn/leftTicket/init
  • 12306ログインURL: https://kyfw.12306.cn/otn/login/init
  • 私の12306URL: https://kyfw.12306.cn/otn/index/initMy12306
  • チケット購入確認URL:https://kyfw.12306.cn/otn/confirmPassenger/initDc

Python コードは URL を開き、コントロールのフィル値を見つけます:

用 Python 代码自动抢火车票

用 Python 代码自动抢火车票

ユーザー名とパスワードのコントロール名を見つけます

用 Python 代码自动抢火车票

開始コントロール名を見つけます

開始場所の値を決定するには、Chrome ブラウザの「検査」機能を使用し (F12 キーを押します)、[ネットワーク ---> Cookie] で見つけます。

用 Python 代码自动抢火车票

クッキー内の開始位置の値

開始場所の Cookie 値をコピーし、一般的に使用されるいくつかの都市をコピーして辞書に追加します。

用 Python 代码自动抢火车票

チケットコードを確認してください:

用 Python 代码自动抢火车票

実際には、コードを実行するだけです:

用 Python 代码自动抢火车票

もちろん、手動でクリックする必要があるのは、邪悪な 12306 確認コードです。チケットを取得した後、支払いを確認するだけです。

用 Python 代码自动抢火车票

チケット受付中

用 Python 代码自动抢火车票

チケット獲得に成功!

以上がPython コードを使用して電車のチケットを自動的に取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。