Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
moremind committed Jun 3, 2018
1 parent a9d6d20 commit cbad8e6
Showing 1 changed file with 27 additions and 17 deletions.
44 changes: 27 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,30 @@ QDUOJ的开发以及众多OJ的题库,使得我们自动化添加题目更加
* MongoDB 客户端工具-推荐使用RoBo 3T

# 准备
* 解压获取已准备好的BZOJ
## 解压获取已准备好的BZOJ
你需要将BZOJ目录下的压缩文件解压,解压至你的web服务器目录下。


* 安装scrapy
## 安装scrapy
具体安装文档请见docs。


* 启动爬虫并检查数据库是否存在数据
1. 修改爬虫配置:
## 启动爬虫并检查数据库是否存在数据
* 修改爬虫配置并执行爬虫:

url在bzoj.py

MongoDB数据配置在settings.py
1. url在bzoj.py
2. MongoDB数据配置在settings.py

2. 执行爬虫:scrapy crawl bzoj
* 执行爬虫:scrapy crawl bzoj

## 图片位置
在本项目中已经提供BZOJ,所以您可以直接在BZOJ解压包中看到JudgeOnline找到upload以及images两个图片目录,你只需要将这个两个目录复制到已经部署好的qduoj的 public目录下。
![dir][2]

## 安装自动加题所需要的库
1. webdriver
2. selenium
3. pymongo

* 执行自动加题
> 也需要修改您的url以及mongoDB配置,以及OJ的用户名、密码。
Expand All @@ -44,19 +52,21 @@ QDUOJ的开发以及众多OJ的题库,使得我们自动化添加题目更加
2. MongoDB配置在settings.py
3. OJ用户名以及密码在config.py

执行:python add_problem.py

# 图片位置
在本项目中已经提供BZOJ,所以您可以直接在BZOJ解压包中看到JudgeOnline找到upload以及images两个图片目录,你只需要将这个两个目录复制到已经部署好的qduoj的 public目录下。
![dir][2]
* 执行:python add_problem.py

# 某些bug
* 因为BZOJ数据的问题,某一题如果有两张或者以上的图片,则可能显示不全。
* 因为BZOJ数据问题,可能导致添加题目突然中止,你可能需要执行删除数据库文档的命令
> 在delete.py中,你需要修改count的值以及for循环的值,删除已经添加得文档。然后重新执行:python add_problem.py即可再次添加题目。
* 因为BZOJ数据问题,可能导致添加题目突然中止,你可能需要执行删除数据库文档的命令,然后重新执行:python add_problem.py即可再次添加题目。
> 在delete.py中,你需要修改count的值以及for循环的值,删除已经添加得文档。示例如下:
![oj][1]
# 删除编号自1200开始,至1245的所有文档数据
for i in range(0, 46):
count = 1200
count = count+i
print(count)
db.problem.delete_one({"problem_no": str(count)})


![oj][1]

[1]: https://s1.ax2x.com/2018/06/02/71uIJ.png
[2]: https://finen-1251602255.cos.ap-shanghai.myqcloud.com/images/github/autoaddproblem/dir.png

0 comments on commit cbad8e6

Please sign in to comment.