Skip to main content

用Python玩转北化OJ平台

Project description

BUCTOJ 用Python玩转北化OJ平台

https://readthedocs.org/projects/buctoj/badge/?version=latest

BUCT-OJ 的一些功能封装成包,从而实现通过脚本提交代码等。

⚠ 仅供学习测试,不能用于特殊用途

⚠ 对于拥有管理员账号的同学,应该有自觉使用管理号的觉悟,不会用来免做题目

主要功能

模拟登录

from BUCTOJ import login
cookies = login(用户名, 密码)

使用cookies中的session即可以账号身份进行操作

若账号密码错误,则返回cookie不可用

提交代码

from BUCTOJ import submit
submit(比赛的cid,要提交问题的pid,你的cookie,要提交的代码)

上述方式会使用C++语言进行提交(目前仅支持C++)

进入比赛的某道题目后,地址栏的url中会有cid和pid。

例如 Contest2347A 题,url为 https://buctcoder.com/problem.php?cid=2347&pid=0 ,因此此题目的cid为2374,pid为0

cookie是登录功能所获得的cookie。

自动完成一个比赛

from BUCTOJ import finish1contest
finish1contest(比赛cid, 你的用户名, 你的密码, 管理员用户名, 管理员密码)

前提

  1. 拥有一个管理员账号

  2. 每道题都有用C++通过者(非本次比赛提交也可)

功能

若满足以上两个条件,则此函数具有以下功能:

  1. 每隔大约15s通过一道题

  2. 查重率为0

若某次比赛中一些题目无人用C++通过,则程序会跳过此题继续提交下一题

修改配置

修改域名

脚本的默认oj域名为”https://buctcoder.com/

若非本域名的其他相同oj平台,则可以进行配置其他域名。

假如”https://oj.letmefly.xyz/”也是采用的 hustoj ,那么此脚本可能也能用来进行oj.letmefly.xyz的操纵。

from BUCTOJ import Config
from BUCTOJ import login

Config.set_info("base_url", "https://oj.letmefly.xyz/")
cookies = login(0, 0)

当前仅支持“域名”这一个配置。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

BUCTOJ-0.0.17.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

BUCTOJ-0.0.17-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file BUCTOJ-0.0.17.tar.gz.

File metadata

  • Download URL: BUCTOJ-0.0.17.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.4

File hashes

Hashes for BUCTOJ-0.0.17.tar.gz
Algorithm Hash digest
SHA256 fc443e7c4c7310744eb4839ab4d660edacf99a5eb2c5993eda23842a17193fb7
MD5 ed427633acb36c238f0b9e07837dd265
BLAKE2b-256 cf28a384a5a26e6b2465ae9d21a644c34fa9301f7af259454e4f7559e4cda1a5

See more details on using hashes here.

File details

Details for the file BUCTOJ-0.0.17-py3-none-any.whl.

File metadata

  • Download URL: BUCTOJ-0.0.17-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.4

File hashes

Hashes for BUCTOJ-0.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 6663e5e2229ea71d2834960de3dd23c12931b984daa43935c90b053aa3aaa061
MD5 923ed9686113239692c53a8a43246bad
BLAKE2b-256 081e96ea59dd6ad4e7d3a7e62fe361a03099813836404c66ee6e631e13db3d72

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page