東北林業大学教育管理システムの履修選択スクリプトの簡易分析

NEFU Fuxk コースセレクション

マルチスレッドシミュレーションクリック自動ログインと一括データクローリングの機能を実現するSeleniumで書かれたシンプルな樹林帯コース選択スクリプトです。

スクリプトはオープンソースであり、オープン ソースのアドレスは Github にあります: https://github.com/ittuann/NEFU-CoursesSelection

東北林業大学、教育管理システムでのコース選択とクラス取得のための Python スクリプト。このスクリプトは基本的に、公立選択科目、一般教育選択科目、専門選択科目を含むすべての選択科目に適用されます。

まず第一に、スクリプトは技術的な学習とコミュニケーションのためにのみ使用されます。スクリプトの使用による結果は、クラスの販売を急いでいる Fuxk の学生だけでなく、あなた自身の責任になります。
このスクリプトが誕生した理由は、あまりにも多くの生徒が転売を急ぐため、このスクリプトは誰かがコースを退会した後、短期間でコースを選択することができ、コースの転売ルートをブロックすることができます。
いつか教育管理システムのサーバーと科目選択ロジックが改善されることを願っています

手順

Windows を例に挙げます。

環境構成

まず、簡単な環境構成が必要です。

  1. スクリプトのダウンロード: https://github.com/ittuann/NEFU-CoursesSelection/releases/latest

  2. Python環境が必要なのでインストールSelenium

    pip install selenium
    
  3. 次にダウンロードする必要がありますChrome Driver

    https://chromedriver.chromium.org/downloadsページを開き、適切なバージョンを見つけてダウンロードします。chromedriver_win32.zip

  4. 圧縮パッケージを解凍し、chromedriver.exeパスをコピーします

  5. スクリプトの 16 行目の変数を変更しdriver_path、パスをコピーした内容に置き換えます。

    たとえば、デフォルトのコンテンツを置きます

    driver_path = r"C:\Download\chromedriver_win32\chromedriver.exe"
    

    着替える

    driver_path = r"D:\chromedriver.exe"
    

スクリプトを実行する

まず、Windows で「コマンド プロンプト」を検索して開きます。

次に、スクリプトが配置されているフォルダーを入力します (フォルダーのパスは独自のパスに置き換える必要があります)。

cd C:\Users\Download\NEFUCourseSelection

その後、スクリプトを実行できるようになります。

python main.py

スクリプトでは、学生番号、パスワード、コース選択ページの Web サイト、コース名、WebVPN を使用するかどうかを順に入力する必要があります。

  1. コース選択ページのWebサイトは、教務システム上で手動で取得する必要があります。次に培养管理 -> 选课中心[进入选课]リンクをコピーしてスクリプトに貼り付けます。
  2. 1 行に 1 つ以上のコース名を入力できます。
  3. WebVPN を使用するかどうかは、キャンパス ネットワークに接続しているかどうかによって異なります。キャンパス ネットワークに接続していない場合は、それを使用する必要があります。キャンパス ネットワークに接続している場合は、使用できます。

スクリプトの原理は、このコースを選択するために約 0.5 秒ごとにポーリングを行い、クラスから脱落した学生がいるかどうか、またはコースを売ろうとしている暴利者がいるかどうかを確認することです。長時間応答がなくポップアップが表示された場合は自動的に再ログインします。私が試したのは、小学校の夏学期に一般教養の選択科目を取得することですが、1日で取得できる確率はかなり高いです。

スクリプトは、レッスンを取得するためにコースごとに独立したスレッドを作成します。もちろん複数を同時に実行することも可能です。

最後に、販売を急いでいる Fuxk の学生と同様に、スクリプトの使用は自己責任で行ってください。

スクリーンショットを実行する

おすすめ

転載: blog.csdn.net/sorcererr/article/details/131500747