Python几乎可以干所有事情。Python在网站开发(Django,Flask,Tornado)、数据挖掘、数据分析、自动化测试、自然语言处理、网络编程、游戏开发、GUI应用开发、多媒体、科学与数值计算、3D影像等方面都有着广泛的应用。国内的豆瓣、搜狐、网易,国外的YouTube、Facebook,Google都大量运用着python技术。
Python在爬虫领域有着广泛的第三方库可以使用,最常用的便是requests和BeautifulSoup这两个库,他们使网页的爬取和解析变得非常容易。
Python在web方面运用特别突出,有着大量的框架可以使用,比如最著名的Django,Flask[3],异步框架Tornado等。这使得python开发网站变得更加的得心应手。
综上所述,python将在未来编程语言的发展中占据极其重要的位置。
1.2.2 MySQL数据库简介
MySQL[2]是一个精致的SQL数据库,很多情况下我们可以自由使用MySQL。由于他强大的功能、丰富的API以及精致的系统结构,越来越受广大院校、软件爱好者、商业软件用户的喜爱。特别是在当今动态网站流行的时代,mysql数据库可以完美的和appach,nginx结合,mysql还可以和Python、PHP、PERL的自然结合,mysql为建立动态网站提供了强大的支持。
相对于其他数据库,MySQL有如下特点:
1)体积小、速度快;
2)支持windows、mac os、unix、linux等操作系统;
3)MySQL能很容易利用cpu的性能;
4)优化的SQL查询算法,快速的查询速度;
5)支持多种存储引擎提供TCP/IP、ODBC和JDBC等连接途。
1.2.3 开发工具及运行环境
操作系统:ubuntu16.04
开发环境:Pycharm2016
Python版本:Python3
Web框架:Flask
前端框架:Bootstrap
数据库:MySQL
1.3 本文的主要内容及组织结构
本文主要介绍了爬虫的背景、意义、整体设计思路以及运用到的相关技术方面的知识等。
网络习题爬取系统能够爬取网络上的习题,并对习题进行科目的分类,知识点的分类。网络习题爬取系统通过爬取程序把爬取下来的习题按科目、知识点分类存储到MySQL数据库中,以供可视化程序调用。文献综述
本文通过Flask框架对爬取得习题进行可视化,用户通邮箱进行验证注册即可登录本系统。进入本系统可以使用本系统提供的习题,本系统按科目语文、英语、数学、地理、生物、化学、物理、政治思品、历史进行总的分类,在科目下再对科目进行知识点的分类。在使用本系统的过程中,用户可以查看习题和答案、可以根据知识点查找习题、还可以对习题进行搜索。因为爬取的习题并不是都有所属知识点的,所以本系统还提供了对知识点进行分类的功能。
本系统包括:前台和后台两部分。后台程序包括习题的爬取、按科目分类、按知识点分类;前台程序则包括用户登录、注册、习题展示、习题知识点统计、题型归纳。
本文的组织结构如下:
第一章:绪论。主要介绍了网络习题爬取系统的背景、研究意义、主要编程语言、开发工具和运行环境。
第二章:需求分析。主要包括网络习题爬取系统的功能需求分析、性能需求分析和可行性分析。
第三章:系统总体功能模块设计。主要详述了系统功能模块的划分和数据库设计。
第四章:系统实现过程。介绍了爬取功能和可视化功能。
第五章:关键技术。介绍了网络习题爬取系统所运用的关键技术。
第六章:总结与展望。
1.4 本章小结
本章节主要介绍了网络习题爬取系统的研究背景及其研究的意义和开发网络习题爬取系统的开发环境、开发语言等。