# ACMERDATA
### 简介
该项目为一个集数据抓取与展示一体的ACM队员数据系统,基于Django、python实现。
### 项目介绍
ACMERDATA是一个acm队员数据系统,能够直接从CodeForces、AtCoder、newcoder网站上获取队员比赛的参与情况以及对队员比赛解题数目\参赛情况等数据进行展示,北京化工大学和南通大学正在使用该系统进行竞赛集训队员管理,网址为:http://www.acmer.site:81/
### 使用模块:
| 技术 | 说明 | 官网 |
| :------------: | :----------: | :----------------------------------------------------------: |
| python3.6 | 编程语言 | https://www.python.org/ |
| Django | 整体框架 | https://www.djangoproject.com/ |
| requests | HTML资源获取 | http://2.python-requests.org/zh_CN/latest/user/quickstart.html |
| beautifulsoup4 | HTML资源处理 | https://pypi.org/project/beautifulsoup4/ |
| mysql | 数据库 | https://www.mysql.com/ |
| selenium | js资源处理 | https://www.selenium.dev/ |
| chrome-driver | 模拟浏览器 | http://chromedriver.chromium.org/ |
其它辅助插件:
1. pygments --代码高亮
2. lxml --html资源辅助处理
3. django-crontab --定时任务
4. xvfb --辅助chrome-driver浏览器模拟,为模拟提供输出端
### 技术需求
部署:一定的mysql基础以及linux基础
开发:部署的基础上拥有一定的python基础以及django基础
### 项目布局
``` lua
acmer --总目录
├── acmer --django项目相关配置
├── settings.py --django项目配置
├── urls.py -- 主链接配置
├── logs -- django日志
├── acmerdata -- 项目
├── migrations -- 数据库迁移记录
├── static --静态数据文件目录
├── templates --模板目录
├── __init__.py --项目标识
├── admin.py --管理模块配置
├── apps.py --应用注册
├── bsdata.py --爬虫模块
├── datautils.py --数据处理模块
├── forms.py --表单模块
├── models.py --模型模块
├── test.py --测试模块
├── urls.py --连接参数配置模块
├── views.py --视图配置模块
├── manage.py --管理脚本
```
## 搭建步骤
本项目开发环境为windows,服务器部署环境为ubuntu,故以ubuntu为例
#### (1)脚本辅助配置
在acmer目录下切换至root权限
输入
```
sh quicksetenviornment.sh
```
运行脚本安装环境
##### 数据库配置:
然后进入mysql中
输入以下代码:(注意替换{{内容}}为实际信息)
```mysql
mysql
create database acmerdata;
create user {{用户名}}@'localhost'identified with mysql_native_password by '{{密码}}';
grant all on acmerdata.* to {{用户名}}@'localhost';
```
更多mysql新建用户参考:
https://www.cnblogs.com/wuxunyan/p/9095016.html
进入acmer->acmer->setting.py
将MySQL相关参数调整为自己的数据库
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
```
例:假设我使用acmerdata数据库,用户名为123,密码为123且主机为本机:
上述应填为
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'acmerdata',
'USER': '123',
'PASSWORD': '123',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
```
然后进入到manage.py同级目录下
输入
```
python3 manage.py makemigrations
python3 manage.py migrate
```
即可配置完成数据库
本项目已预设一个数据库,可导入使用查看效果
然后执行python3 manage.py runserver 0.0.0.0:8000 即可在本机8000端口访问数据系统
#### (2)手动配置
首先执行apt更新
apt下载:
1. python3
2. python3-dev
3. python3-pip
4. gcc
5. mysql-server
6. build-essential
8. libssl-dev
8. libffi-dev
9. libxml2
10. libxml2-dev
11. libxslt1-dev
12. libmysqlclient-dev
13. zlib1g-dev
14. phantomjs
apt下载完成后进行pip下载:
1. django
2. lxml
3. gcc
4. django-crontab
5. beautifulsoup4
6. requests
7. selenium
8. phantomjs
9. pygments
10. mysqlclient
进入/acmer/setting.py中将MySQL相关参数调整为自己的数据库
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
```
例:假设我使用acmerdata数据库,用户名为123,密码为123且主机为本机:
上述应填为
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'acmerdata',
'USER': '123',
'PASSWORD': '123',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
```
然后进入到manage.py同级目录下
执行
```bash
python3 manage.py makemigrations
python3 manage.py migrate
```
完成数据库配置
然后执行python3 manage.py runserver 0.0.0.0:8000 即可在本机8000端口访问数据系统
#### etc:
配合nohup使用可使系统manage.py持续挂起,但此环境仍然是测试环境
若想调配生成环境请参考:
https://blog.csdn.net/eightbrother888/article/details/79503716?utm_source=distribute.pc_relevant.none-task
## 定时任务配置
本系统使用django-crontab基于linux的crontab进行定时任务设置,故windows并不支持此定时任务配置
可进入setting.py进行配置
详细教程请查看
https://www.cnblogs.com/qiaoqianshitou/p/10549011.html
本系统已配置完成几个定时更新
输入python manage.py crontab add即可使用
没有合适的资源?快使用搜索试试~ 我知道了~
该项目为一个集数据抓取与展示一体的ACM队员数据系统,基于Django、python实现。.zip
共108个文件
html:37个
py:21个
js:14个
需积分: 0 0 下载量 3 浏览量
2024-01-09
20:26:46
上传
评论
收藏 874KB ZIP 举报
温馨提示
Python使用技巧,实战应用开发小系统参考资料,源码参考。经测试可运行。 详细介绍了一些Python框架的各种功能和模块,以及如何使用Python进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者,能够帮助你快速上手JPython并掌握其高级特性。
资源推荐
资源详情
资源评论
收起资源包目录
该项目为一个集数据抓取与展示一体的ACM队员数据系统,基于Django、python实现。.zip (108个子文件)
bootstrap.css 118KB
font-awesome.css 21KB
code.css 9KB
custom-styles.css 7KB
dataTables.bootstrap.css 5KB
stylesheet.css 1KB
morris-0.4.3.min.css 442B
fontawesome-webfontd41d.eot 37KB
fontawesome-webfontba72.eot 37KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regulard41d.eot 20KB
groupdata.html 22KB
students.html 20KB
TopCompare.html 10KB
forecast.html 10KB
monthlyrating.html 10KB
contestCount.html 8KB
addprize.html 7KB
polorCompare.html 7KB
contest.html 6KB
TagCompare.html 6KB
addstudentslist.html 6KB
addstudent.html 6KB
Problemset.html 6KB
studentmonthlys.html 6KB
weightrating.html 5KB
group.html 5KB
student.html 5KB
cfcontestsubmit.html 5KB
CoderforcesQuestion.html 5KB
contests.html 5KB
acContestSubmit.html 5KB
ACaftersubmit.html 5KB
aftersubmit.html 5KB
monthlysubmit.html 5KB
template-menu.html 5KB
TeamMembersCount.html 4KB
spider.html 4KB
groupRatingLine.html 3KB
contact.html 3KB
codeshow.html 3KB
groupdeleteresult.html 3KB
spiderResults.html 2KB
timeline.html 1KB
index.html 911B
getACUserData.html 13B
fixbug.html 13B
getCFUserData.html 13B
favicon.ico 13KB
favicon.ico 894B
logo.jpg 77KB
jquery.dataTables.js 400KB
jquery-1.10.2.js 276KB
d3.v5.min.js 231KB
raphael-2.1.0.min.js 89KB
data.js 86KB
jquery-3.2.1.slim.min.js 68KB
morris.js 66KB
bootstrap.min.js 28KB
dataTables.bootstrap.js 9KB
visual.js 8KB
custom.js 6KB
custom-scripts.js 6KB
jquery.metisMenu.js 1KB
config.js 439B
launch.json 542B
updatetime.json 320B
settings.json 102B
README.md 6KB
README.md 6KB
sort_both.png 201B
sort_asc.png 160B
sort_desc.png 158B
sort_asc_disabled.png 148B
sort_desc_disabled.png 146B
Sorting icons.psd 27KB
views.py 42KB
datautils.py 25KB
viewsVisualData.py 18KB
atcoder.py 14KB
bsdata.py 14KB
cron.py 7KB
models.py 7KB
settings.py 6KB
forms.py 5KB
CodeforcesQuestion.py 5KB
urls.py 4KB
jsk.py 3KB
admin.py 980B
urls.py 874B
manage.py 625B
wsgi.py 387B
asgi.py 387B
apps.py 93B
tests.py 60B
__init__.py 0B
__init__.py 0B
settings.cpython-37.pyc 4KB
urls.cpython-37.pyc 1KB
wsgi.cpython-37.pyc 579B
共 108 条
- 1
- 2
资源评论
白话Learning
- 粉丝: 3272
- 资源: 2464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功