# ~~Django+爬虫,实现一个在线题库搜索引擎~~
# 置顶:关于本项目,由于官方的接口以及更改,所以第一个引擎已无法使用,第二个引擎效果也不好,所以我也不会再维护这个项目了
## 如果有兴趣,欢迎查看两个主要文件,里面有我的详细注释,重要的是思路,结果已经没意义了
## 环境:Django 2.1.7,aiohttp 3.5.4,,pyquery 1.4.0,requests 2.21.0
## 声明:本项目仅供个人学习,请勿作商用,如有侵权请联系我删除,请不要让警察叔叔抓走我
## 预览图:
![image](https://github.com/swpu-cxm/tisoso/blob/master/tss.png)
![image](https://github.com/swpu-cxm/tisoso/blob/master/tss2.png)
## 项目浏览: [题搜搜](http://tss.cxmgxj.cn "题搜搜")
## 项目介绍:
输入题目,通过异步爬虫爬取考试资料网,上学吧两个在线搜题网站,然后将爬取的题目及答案显示在网页
## 项目核心:
此项目的关键是爬取搜题网站,主要涉及的是题目数据的清洗,
获取答案链接请求参数的破解.
答案请求方式的分析.
限制免费次数的分析.
## 核心程序为index/tisoso.py
### 开发版的程序为index/shangxueba.py和index/ppkao.py里面有详细的注释
## 上学吧接口分析,关于上学吧,我是通过Fiddler进行app抓包分析的,主要有3个阶段:
1. 输入问题,获取返回问题ID列表
2. 根据ID去获取题目的信息,如果获取成功,则返回完整的题目的内容即题目+选项
3. 根据ID去获取题目答案,关键在于post请求data中的iden参数,此参数是服务的验证用户是否已经用完免费次数,所以只<br>需要每次请求答案是更换不同的iden,就可以去除限制
## 考试资料网接口分析,主要有3个阶段 :
1. 输入问题,获取问题ID列表
2. 此网站查看答案是通过页面上的一个按钮跳转至获取答案的Api再重定向到答案页面,其中会有云盾和用户登录验证,所<br>以我们直接以post方式请求Api,直接获取答案链接,进而直接访问答案链接,免去中间登录和云盾的验证.注意,返回的是带<br>有XXX/tiku/daan/id.html,但是实际在浏览器查看答案是没有'/tiku'的,即应该是XXX/daan/id.html
3. 直接在答案页面爬取完整的题目,选项,及答案图片的base64编码
## 如何开始?
git clone git@github.com:swpu-cxm/tisoso.git
cd tisoso
pipenv install
pipenv shell
python manager.py runserver
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
在线考试系统是一种基于互联网的教育技术工具,用于组织、管理和实施在线考试。这种系统通常由软件应用程序支持,为学生和考生提供了在网上参加考试的机会。在线考试系统可以用于各种教育和培训场景,包括学校教育、职业资格认证、招聘考试等。 【主要特点和优势】: 灵活性和便利性:学生和考生可以通过互联网随时随地参加考试,不再受限于特定的地点和时间。 自动化管理:系统能够自动管理考试安排、考生信息、考试成绩等数据。 安全性:在线考试系统通常具有严格的身份验证和防作弊措施。 实时反馈:考试结束后,系统可以立即生成和发布成绩,提供即时反馈。 多样化的题型:系统支持各种题型,包括选择题、填空题、问答题等多种题型。 数据分析:系统可以收集和分析大量的考试数据,帮助教育机构和考试机构更好地了解学生的表现和需求,优化教学和考试内容。 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
资源推荐
资源详情
资源评论
收起资源包目录
Django+爬虫实现一个在线题库搜索引擎(考试资料网上学吧)tisoso.zip (77个子文件)
manualType.properties 10B
g6.gif 1.28MB
tisoso-master
db.sqlite3 0B
Pipfile 219B
index
__init__.py 0B
tests.py 61B
admin.py 63B
migrations
__init__.py 0B
__pycache__
__init__.cpython-37.pyc 131B
ppkao.py 6KB
apps.py 85B
models.py 57B
shangxueba.py 8KB
tisousou.py 8KB
__pycache__
shangxueba.cpython-37.pyc 4KB
tisousou.cpython-37.pyc 6KB
views.cpython-37.pyc 1KB
admin.cpython-37.pyc 161B
ppkao.cpython-37.pyc 4KB
models.cpython-37.pyc 158B
__init__.cpython-37.pyc 120B
views.py 1KB
searchAnswer
__init__.py 0B
wsgi.py 401B
urls.py 923B
settings.py 3KB
__pycache__
settings.cpython-37.pyc 2KB
__init__.cpython-37.pyc 127B
wsgi.cpython-37.pyc 540B
urls.cpython-37.pyc 1KB
templates
search.html 3KB
404.html 123B
index.html 1KB
.idea
dataSources
3b219465-8f70-4088-8b88-4750d130e9ef.xml 35KB
dataSources.local.xml 817B
webServers.xml 586B
workspace.xml 31KB
misc.xml 299B
dataSources.xml 880B
inspectionProfiles
Project_Default.xml 503B
modules.xml 276B
deployment.xml 391B
searchAnswer.iml 1KB
encodings.xml 135B
manage.py 544B
tss2.png 88KB
Pipfile.lock 12KB
__pycache__
manage.cpython-37.pyc 581B
static
jquery-3.3.1.js 265KB
bootstrap
js
bootstrap.js 68KB
npm.js 484B
bootstrap.min.js 36KB
css
bootstrap-theme.min.css.map 25KB
bootstrap.min.css 118KB
bootstrap-theme.css.map 47KB
bootstrap-theme.css 26KB
bootstrap.css.map 380KB
bootstrap.css 143KB
bootstrap-theme.min.css 23KB
bootstrap.min.css.map 529KB
fonts
glyphicons-halflings-regular.svg 106KB
glyphicons-halflings-regular.ttf 44KB
glyphicons-halflings-regular.woff 23KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.woff2 18KB
1.jpg 1.8MB
fontawesome
css
font-awesome.css 37KB
font-awesome.min.css 32KB
fonts
FontAwesome.otf 132KB
fontawesome-webfont.eot 162KB
fontawesome-webfont.woff 96KB
fontawesome-webfont.woff2 75KB
fontawesome-webfont.svg 434KB
fontawesome-webfont.ttf 162KB
README.md 2KB
tss.png 75KB
系统.txt 34B
共 77 条
- 1
资源评论
枫蜜柚子茶
- 粉丝: 7328
- 资源: 5102
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功