由于移动应用技术的持续性的快速发展,现实生活中人们大多数都是通过移动手机、电脑等智能设备来完成生活中的事务。因此,许多的人工传统行业也开始与互联网结合,不再一味的依靠人工劳动,努力打造半自动数字化甚至是全自动数字化模式。于是,以爬虫系统设计与实现作为例子,利用Python爬虫技术获取岗位、薪水、地区、学历经验、公司信息的数据,并对这些数据进行处理, 然后对这些数据进行可视化分析和预测。给人们提供一些客观的数据,方便他们参考,这给今后的大数据系统维护带来了便利,同时也为将来开发类似的大数据系统提供了参考和帮助。
Python爬虫技术目前来说,是比较常用的从网页获取数据的方法之一。而 Python语言也是比较受欢迎,尤其是在人工智能和大数据领域有着广泛的应用。特别是 Python的第三方库,让人们能够通过简单的代码解决更多的难题。同时对数据的处理也比较方便快捷。
其中主要通过 Requests,Beautifulsoup 进行网页分析和数据爬取, 然后再使用 Numpy,Matplotlib,Pandas 对所爬取的数据进行可视化分析。还通过聚类算法,依据所爬取的数据进行一个总结,使我们了解爬虫系统设计与实现的基本特征和分布情况。帮助那些需要的人做出决策。
关键词:爬虫系统设计与实现;Python语言;Django框架;
Due to the sustained and rapid development of mobile application technology, most people in real life complete their daily tasks through smart devices such as mobile phones and computers. Therefore, many traditional manual industries have also begun to combine with the Internet, no longer relying on manual labor blindly, and strive to create a semi-automatic digital or even fully automatic digital mode. So, taking the design and implementation of a web scraping system as an example, Python web scraping technology is used to obtain data on positions, salaries, regions, education and experience, and company information, and these data are processed. Then, these data are visualized, analyzed, and predicted. Providing people with objective data for their reference brings convenience to the maintenance of future big data systems, and also provides reference and assistance for the development of similar big data systems in the future.
Currently, Python web scraping technology is one of the commonly used methods for obtaining data from web pages. The Python language is also quite popular, especially in the fields of artificial intelligence and big data, with extensive applications. Especially the third-party libraries in Python allow people to solve more problems with simple code. At the same time, the processing of data is also relatively convenient and fast.
Among them, web page analysis and data crawling are mainly carried out through Requests and Beautifulsoup, followed by visual analysis of the crawled data using Numpy, Matplotlib, and Pandas. We also use clustering algorithms to summarize the basic characteristics and distribution of crawler system design and implementation based on the crawled data. Help those in need make decisions.
Keywords: Crawler system design and implementation; Python language; Django framework;Due to the sustained and rapid development of mobile application technology, most people in real life complete their daily tasks through smart devices such as mobile phones and computers. Therefore, many traditional manual industries have also begun to integrate with the Internet, no longer relying solely on manual labor, and striving to create semi-automatic or even fully automatic digital models. So, taking the kindergarten semester enrollment quantity prediction management system as an example, using Python crawler technology to obtain data, processing these data, and then visualizing, analyzing, and predicting these data. Providing people with objective data for their reference brings convenience to the maintenance of future big data systems, and also provides reference and assistance for the development of similar big data systems in the future.
Currently, Python web scraping technology is one of the commonly used methods for obtaining data from web pages. The Python language is also quite popular, especially in the fields of artificial intelligence and big data, with extensive applications. Especially the third-party libraries in Python allow people to solve more problems with simple code. At the same time, the processing of data is also relatively convenient and fast.
Among them, web page analysis and data crawling are mainly carried out through Requests and Beautifulsoup, followed by visual analysis of the crawled data using Numpy, Matplotlib, and Pandas. We also used clustering algorithms to summarize the data crawled, enabling us to understand the basic characteristics and distribution of the kindergarten semester enrollment quantity prediction management system. Help those in need make decisions.
Keywords: Kindergarten semester enrollment quantity prediction management system; Python language; Django Framework
第1章 绪论 1
1.1选题背景 1
1.2国内外研究现状 1
1.3论文主要结构 2
1.4课题的基本内容 2
第2章开发工具及技术 2
2.1 Python语言简介 3
2.2 Django 框架简介 3
2.3 MySQL数据库 4
2.4 Flask框架简介 4
2.5 Hadoop大数据简述 4
第3章 需求分析 5
3.1 可行性分析 5
3.1.1技术可行性分析 6
3.1.2经济可行性分析 6
3.1.3法律可行性分析 7
3.2需求分析 8
3.2.1管理员需求分析 8
第4章系统设计 10
4.1概要设计 11
4.2详细设计 12
4.3数据库设计 13
4.3.1数据库实体 13
4.3.2数据库表设计 14
第5章系统实现 15
5.1爬虫系统设计与实现看板展示 23
第6章系统测试 30
6.1 代码设计思路 30
6.2 注册登录测试 32
结束语 38
参考文献 39
致谢 41
近些年来,随着电子科学技术的高速发展,大数据出现与计算机相关行业的发展创新。衍生出了各种各样方便快捷的电子设备。如手机,电脑等。这些电子设备功能强大,方便所有类型的人们使用。但这些年来,人们对手机,电脑等电子高科技产物的依赖和需求也越来越大。现在的人们已经不再满足于它们各式各样的基础功能,例如与他人通讯,上网了解信息等。人们现在更希望的是随着科技的发展,手机、电脑等高科技产品可以给自己带来更多方便快捷、简单实用的功能。同时也希望自己在使用的时候可以更轻松的掌握使用这些设备的技巧。同时,伴随着这些电子设备的出现,爬虫系统设计与实现就显的尤为重要,电子设备各式各样功能的顺利运行都要依靠它的稳定运行。爬虫系统设计与实现可以管理、控制计算机的硬件资源和软件资源,也是计算机最为基本的系统软件。人们所有能涉及到和使用到的软件运行几乎都离不开它。它就像人类的大脑一样,控制着计算机的各种设备。但同样,爬虫系统设计与实现在发展时自身也会出现很多问题,同样的系统不能应用在所有的硬件设备上。这个问题对于大部分的电子科技受益者来说很陌生,处理起来很有困难。会让使用者不能在第一时间使用,因此会造成很多负面的影响。
什么是爬虫系统设计与实现?爬虫系统设计与实现区别于人们司空见惯的安卓系统和iOS系统,爬虫系统设计与实现希望只用一整套系统就解决使用的硬件设备需要有不同的系统的繁琐问题。它的出现不仅让使用者在使用时更加方便,还可以让使用者在使用选项上有了更多选择的余地。爬虫系统设计与实现十分流畅,可以让使用者在使用时几乎没有任何的延迟和卡顿,可以给使用者带来十分轻松的体验。
随着互联网的发展,网络上的数据量日益增长,这些数据对于企业和个人来说具有巨大的价值。因此,需要设计并实现能够高效爬取特定网站和数据类型的爬虫系统。爬虫系统的设计与实现涉及到多个技术环节,包括网页解析、数据提取、数据存储等。使用Python等编程语言进行开发是常见的做法,因为它拥有强大的库支持网络请求、HTML解析和数据处理等功能。爬取到的数据需要被持久化存储,以便后续的分析和利用。这通常涉及到数据库的设计和使用,以及可能的数据清洗和预处理步骤。在设计和实现爬虫系统的过程中,开发者需要面对各种挑战,如网站的反爬虫机制、数据的大规模处理、网络环境的变化等。在进行网络爬虫的开发和使用时,还必须考虑到相关的法律法规,确保数据的获取和使用不侵犯他人的版权或隐私权[4]。爬虫系统的应用非常广泛,可以用于搜索引擎的索引构建、社交媒体的内容聚合、电子商务网站的价格监测、新闻聚合服务等。在互联网时代,数据被誉为“新的石油”,是推动各行各业发展的重要资源。因此,研究和实现高效的网络爬虫系统具有重要的实际意义和广泛的应用前景。
爬虫系统的设计与实现是一个复杂但具有广泛应用价值的技术领域。它不仅需要技术的深度和广度,还需要对法律和伦理的敏感性。随着技术的发展和数据需求的增加,这一领域的研究和应用将会持续发展[5]。
主题网络爬虫旨在自动发现和收集与特定主题相关的网络信息。近年来,研究者们已经提出了多种方法和技术,包括基于文字内容的、基于超链分析的以及基于分类器预测的方法等。这些方法各有优缺点,适用于不同场景和需求。
在技术实现方面,Python作为一种流行的编程语言,其爬虫框架和库如Scrapy、BeautifulSoup等被广泛用于数据抓取与处理。豆瓣影评是一个常被用作案例的平台,通过API调用和数据存储管理实现了对评论数据的获取和分析。主题网络爬虫的实现需要解决若干关键技术问题,如如何精确识别和抓取相关主题的数据,如何处理大规模数据,以及如何提高爬虫的效率和智能化水平。在国外,爬虫技术的研究不仅集中在算法优化上,还包括了基于深度学习的爬虫技术等前沿领域。这些研究推动了数据抓取、存储及处理技术的发展。随着网络爬虫技术的普及,也带来了一些违法犯罪问题。因此,加强规范以保护网络安全和个人隐私成为研究和应用网络爬虫时必须考虑的问题。
基于主题爬虫技术的爬虫系统设计与实现在国内外有着积极的研究和实践,技术逐步成熟并开始应用于实际业务中。然而,这一领域仍面临技术挑战和法律伦理问题,需要持续的研究和规范化管理[8]。
本文的重点是以Python爬虫为基础,设计与实现爬虫系统设计与实现,旨在让管理者工作变得更加高效和便捷,满足用户更高层次的需求。本篇论文的结构如下:
第1章:绪论[9]。首先阐述了选择撰写本篇论文时代背景,然后对目前爬虫系统设计与实现的国内外的研究现状进行了综合概括。并综合分析时代背景,因此提出并确定了爬虫系统设计与实现这个论文主题。
第2章:本章节介绍了开发爬虫系统设计与实现需要用到的工具和主要的开发技术。例如Django框架 、MySQL数据库等。
第3章:本章节内容是需求分析。分别从技术上、经济上以和法律上三个方面对爬虫系统设计与实现的可行性进行了简要的分析,接着按照角色分类对本系统的管理员端展开了需求分析[10]。
第4 章:本章节主要论述了爬虫系统设计与实现的设计过程。
第5章:本章节主要是系统实现部分。分别是按照角色和模块对本系统的管理员端的界面及主要核心实现截图展示。
第6章:本章节的重点是对爬虫系统设计与实现的测试。根据角色的不同,分别对管理员端应该实现的核心功能展开了详细的测试,以保证系统可以准确有效地满足管理员的需求[11]。
1.4 课题的基本内容
在构建一个基于Python的爬虫系统设计与实现过程中,主要关注以下几个核心内容:
1.数据收集与清洗:数据是此系统的基石。首先需要确定数据来源,包括岗位、薪水、地区、学历经验、公司信息。在收集数据后,很重要的一步是数据清洗。由于各种原因,原始数据中可能存在缺失值、异常值或不一致性,这都需要进行识别并处理。通过Python的Pandas库,可以高效地完成数据清洗工作,确保后续分析的准确性。
2.数据分析与处理:在得到干净、质量上乘的数据后,进入数据分析阶段。这一步的目的是从原始数据中提取有价值的信息和见解。这可能包括计算统计量、建立数据模型或寻找数据之间的关系。Python提供了丰富的工具和库,如Numpy和SciPy,使用其进行深入的数据分析。
3.多维数据可视化设计与实现:为了更直观地展示数据分析的结果,需要设计并实现数据可视化。针对信息的数据,考虑多维数据的展示,如饼状图、折线图、条形图等。利用Python中的Matplotlib和Seaborn库,能够创建生动、有趣的可视化图表。
4.用户界面设计:一个强大的系统除了背后的数据处理功能外,同样需要一个友好、直观的用户界面。将采用现代的UI/UX设计理念,确保界面既美观又实用。目标是让非技术背景的工作者轻松使用,高效利用这个系统。
2.1 Python语言简介
Python是由荷兰数学和计算机研究学会的吉多·范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”。
2.2 Django 框架简介
Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。下面介绍部分Django的核心与优点:
- 对象关系映射(ORM,Object-Relation-Mapping):ORM的方法论有着三个核心原则:
- 简单:以最基本的形式构建数据。
- 传达性:数据库结构被任何人都能理解的语言文档化。
- 精确性:基于数据模型创建正确标准化的结构。
用于Python之中即是以Python类形式定义数据模型,类中的每一个属性对应着数据库中的一列。引入ORM后,无需编写原生SQL语句,使用基于面向对象的思想去编写类、对象、调用方法等,ORM会将其映射成SQL语句通过pymysql执行。
- 路由配置(URLConf):Django的URL设置更加灵活优雅,看似复杂难懂,但使用的都是简单的正则表达式,你可以随心所欲的创造优美的、简洁的、专业
- 模板(Template):模板可以理解为承载数据的工具,为了将数据从视图中分离出来,通过各种各样的标签来进行数据的传输。Django的模板融入了面向对象中继承的思想,提高了复用减少冗余代码。
- 视图(View):视图就是views.py中的函数,也就是逻辑代码,为了将URL和视图关联起来,用到了上述的URLConfs,URLConfs将URL模式映射到视图中,每个视图有两件事是必须要做的:返回一个包含被请求页面的HttpResponse对象,或者抛出一个异常。
- 后台管理系统(Django-Admin):Django提供的一个基于Web的管理工具。Django-Admin来自django.contrib也就是Django的标准库,默认被配置好,只需要激活启用即可,它的优势在于可以快速对数据库的各个表进行增删改查,一行代码即可管理一张数据库表,相比于手动后台1个模型一般需要4个urls,4个视图函数和4个模板,可以说Django完成了一个程序编写的大部分重复工作,并且对于图书管理这种以管理工作为重系统来说,极度契合。
- 应用(Application):当项目规模过大时,难免会产生目录过长,文件过多的问题,Django理念中的App可以将项目相对独立的进行开发,插拔的工作方式和独立性让开发者废弃的App即使删除也不会影响整体,是一种不可多得的理念。
因为本次使用的Python版本为3.6.4,低版本的Django不支持Python3,故此次使用的Django版本为3.2.12。
2.3 MySQL数据库
数据库使用MySQL。MySQL是一个开源关系数据库管理系统,同时是LAMP开源Web应用软件的关键组成部分。世界上许多著名的Web软件系统的数据库都是由MySQL关系数据库设计的。MySQL也同样适用于需要高质量和大规模的网站,如谷歌、Facebook、Twitter、YouTube等。
MySQL数据库的特性有很多。先,MySQL使用C和C++编写并使用了多种编译器进行测试以保证源代码的可移植性。MySQL数据库支持跨平台的特性使得它能够支持多种主流操作系统,并且它为多种编程语言提供API。它支持多线程,充分利用CPU资源。优化后的SQL查询算法可以有效提高查询速度。它可以在客户端—服务器的网络环境中用作单独的应用程序,也可以作为库嵌入到其他软件中,以提供多语言支持。不仅如此,常用编码可以用作数据表名和数据列名,由于它支持存储引擎的特性,它提供TCP/IP、JDBC等数据库连接通道,提供用于管理、检查和优化数据库操作的管理工具,可以处理拥有大量记录的大型数据库。
虽说MySQL数据库有如此强大的适用性,但与此同时与其他的大型数据库例如Oracle、MySQL相比,MySQL数据库也有它的不足之处,如规模小、功能有限,但是这些缺点对它如此适用的特性并没有任何影响。开发人员能够从 MySQL 源代码中生成和手动安装 MySQL,通常情况下,如果没有特别要求,可以从一个二进制包中安装。虽然有的情况下为了安全和优化设置,我们需要进行进一步的配置,开发者依然可以利用分组管理系统下载并安装 MySQL,其过程十分轻松而便捷。总而言之,MySQL数据库为大部分的个人用户和中小企业提供了足够多的功能,并且MySQL作为一款开源软件,大大降低了开发成本。
2.4 Flask框架简介
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框
架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,
开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或
Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来
添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的
插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
2.5 Hadoop大数据简述
Hadoop架构图
Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里 。
技术可行性分析的目的是通过对已有技术的了解,对开发爬虫系统设计与实现过程中需要的各种技术进行分析,然后确定本系统是否能成功开发,并评估开发效率和完成情况。由于爬虫系统设计与实现是基于Python语言开发的,因此目前所拥有的技术是能够开发出一个完整的爬虫系统设计与实现。之所以得出这个结论,主要是因为选择了B/S的架构模式[12]。这种模式可以带来多个优势,包括代码量的降低、开发成本的减少、开发效率的提高、代码质量的提高、代码复杂性的降低以及可维护性的提高。因此,从技术可行性的角度来看,B/S架构是非常可行的选择。
由于本系统主要是为了用户而设计的,因此它的开发和维护成本相对较低。该系统的实施将会需要一定的资金投入,但可以预计将带来多方面的经济效益。此外,该系统的使用还可以降低平台的运营成本,综上所诉,开发本爬虫系统设计与实现完全可行[13]。
3.1.3法律可行性分析
相关法律法规的遵守:在操作过程中,可能牵涉到相应的法律法规,如消费者权益保护法、国家机密保护法或者相关知识产权法律等。开发人员需要清楚其应满足的法规标准,了解风险并尽可能地回避侵犯已有法律法规。
隐私和数据安全:随着个人信息安全和数据安全问题的日益引起重视,开发团队更加需要确保系统的数据存储和处理能够合法、安全、可靠。对于用户隐私需求要尊重,不得擅自透漏用户信息。
3.2.1管理员需求分析
在爬虫系统设计与实现的管理员端,管理员不仅可以修改个人信息,还需要管理岗位、薪水、地区、学历经验、公司等。此外,还需要查看数据等[14]。详细的管理员用例图如图3.1所示:
图3.1 管理员用例图
爬虫系统设计与实现是基于Web服务模式,采用面向对象的程序设计方法,实现一个具有通用功能的模型结构。使用该系统的条件仅是需要具备连上互联网的能力,并能够通过移动设备登录系统。具体实现的系统功能结构图如图4.1所示:
在爬虫系统设计与实现中,首先用户需要先在设备上登录系统,如果某用户是第一次使用爬虫系统设计与实现,就必须先进行注册操作,获取自己的账号和密码后,才能进入系统完成后续的操作。详细的用户注册操作流程图如图4.2所示:
图4.2 注册流程图
已完成注册或已有账号的用户直接进行登录就可以操作功能。详细的用户登录操作流程如图4.3所示:
图4.3 登录流程图
首先是管理员通过对应输入框输入账号和密码,然后选择相应的身份角色,系统会对输入的账号和密码进行验证。如果账号和密码均无误,系统将会直接进入后台管理页面。如果账号和密码存在一个错误,那么系统将会提示管理员再次输入账号和密码进行再次登录,然后再进行各部分功能管理。管理员端的完整流程图如图4.4所示:
图4.4 管理员端系统流程图
爬虫系统设计与实现使用的是开放源码的MySQL数据库。在整个爬虫系统设计与实现中,数据库设计是至关重要的一环。在对用户需求和管理员需求展开全面分析的基础上,将其抽象出了多个实体,并对这些实体进行了简化处理。
公司E-R图如图4.5所示。
图4.5公司E-R图
岗位E-R图如图4.6所示。
图4.6岗位E-R图
地区E-R图如图4.7所示。
图4.7地区E-R图
学历经验E-R图如图4.8所示。
图4.8学历经验E-R图
薪水E-R图如图4.9所示。
图4.9薪水E-R图
数据库的主要作用是储存和管理整个系统的数据。数据库中的数据在保证一定的独立性和安全性的前提下,也要有某种程度的共享,在一定条件范围内可以共享某些数据。必须保证数据库中每张表里存储的数据是安全的,如果没有经过身份认证,就无法查阅及使用。在进行数据库设计时,应根据具体情况,进行有针对性的数据库开发和设计。
表4-1qcwy表
列名 | 数据类型 | 长度 | 约束 |
id | int | 11 | NOT NULL |
title | varchar | 50 | default NULL |
place | varchar | 50 | default NULL |
salary | varchar | 50 | default NULL |
xexperience | varchar | 50 | default NULL |
experience | varchar | 50 | default NULL |
education | varchar | 50 | default NULL |
number | varchar | 50 | default NULL |
companytype | varchar | 50 | default NULL |
industry | varchar | 50 | default NULL |
description | varchar | 50 | default NULL |
MAX_PAY | varchar | 50 | default NULL |
MIN_PAY | varchar | 50 | default NULL |
AVE_PAY | varchar | 50 | default NULL |
work | varchar | 50 | default NULL |
flag | varchar | 50 | default NULL |
表4-2big表
列名 | 数据类型 | 长度 | 约束 |
id | int | 11 | NOT NULL |
job | varchar | 50 | default NULL |
company | varchar | 50 | default NULL |
salary | varchar | 50 | default NULL |
experience | varchar | 50 | default NULL |
education | varchar | 50 | default NULL |
welfare | varchar | 50 | default NULL |
experience2 | varchar | 50 | default NULL |
min_pay | varchar | 50 | default NULL |
max_pay | varchar | 50 | default NULL |
ave_pay | varchar | 50 | default NULL |
5.1爬虫系统设计与实现看板展示
岗位展示如图,如图5.1所示;
图 5.1岗位界面
薪水展示如图,如图5.2所示:
图5.2薪水界面
地区展示如图,如图5.3所示:
图 5.3 地区界面
学历经验展示如图,如图5.4所示:
图 5.4学历经验界面
公司展示如图,如图5.5所示:
图 5.5公司界面
第6章系统测试
6.1 代码设计思路
本文主要通过 Python爬虫去爬取数据,然后把这些数通过Python的第三方库去进行可视化分析[15]。而获取这些数据的爬虫程序的设计就尤为重要了。本文爬虫程序的设计思路是:
首先,要先对你要爬取的网页进行解析,先查看爬取的网页的内容,锁定要获取的内容,然后解析这些内容在网页中的格式。了解了网页的结构后,开始去获取这些数据。因为这些岗位、薪水、地区、学历经验、公司分成了很多页,每一页有多条岗位、薪水、地区、学历经验、公司数据,因此数据获取的思路是先遍历所有页面的数据信息获取详情页面的对应链接,然后再遍历各个详情页的链接,使用 beautifulsoup 解析数据,最后使用 CSV 整合保存最后的数据[16]。
其中在一开始设计对网页爬取数据的程序时,遇到了网站的反扒机制,在爬数据爬到一般的时候,突然就报错了。对于出现这样的结果,是因为网页发现同一个user-argent.不断的获取网页数据,就对其进行拦截。从而无法获取数据。所以后来在设计代码时,采用不断更新 user_argent,达到模拟浏览器访问的效果,以此来跳过网页的反扒机制。
同时,还要设置爬取的时间间隔,适当的时间间隔,能够避免被网页检测到爬虫。
数据分析模块的代码设计主要分成了对爬虫系统基本情况的分析,岗位、薪水、地区、学历经验、公司的分析。
聚类算法这一块的代码,主要思路是先对数据进行 k 值的选定,然后通过 k 值对数据进行聚类,最终获取聚类算法的结果。
6.2注册登录测试
当管理员在爬虫系统设计与实现上进行注册时,必须输入用户名、密码才能注册成功。以上每一个输入框均不能为空,其中性别输入框的默认值为“男”。具体测试用例如表6.1所示:
表6.1 注册登录测试用例表
用例编号 | 测试项目 | 测试步骤 | 预期效果 | 实际结果 |
1 | 管理员注册 | 按规则输入符合的管理员信息 | 注册成功 | 注册成功 |
2 | 管理员注册 | 令用户名输入框为空,其他输入框内按规则输入符合的管理员信息 | 注册失败 | 系统弹出提示框:“用户名不能为空” |
3 | 管理员注册 | 联系电话输入框内输入“789”,其他输入框内按规则输入符合的管理员信息 | 注册失败 | 系统弹出提示框:“联系电话应输入手机格式” |
4 | 管理员登录 | 在账号密码输入框内输入正确的账号密码,然后选择登录用户类型为“管理员” | 登录成功 | 登录成功 |
5 | 管理员登录 | 在账号输入框中输入正确的账号,密码输入框为空,选择用户登录类型为“管理员” | 登录失败 | 系统弹出提示框:“账号或密码不正确” |
6 | 管理员登录 | 在账号密码输入框内输入正确的账号密码,并且不选择用户登录类型,直接点击登录 | 登录失败 | 系统弹出提示框:“请选择用户登录类型” |
表6.2 登录测试用例表
用例编号 | 测试项目 | 测试步骤 | 预期效果 | 实际结果 |
1 | 登录 | 先在账号密码输入框内均输入“myadmin”,然后角色选择管理员,点击登录 | 登录成功 | 登录成功 |
2 | 登录 | 先在账号密码输入框均输入“myadmin”,然后不选择角色,点击登录 | 登录失败 | 系统弹出提示框:“请选择角色” |
3 | 登录 | 先在账号输入框内输入“myadmin”,密码输入框内输入“123”,然后角色选择管理员,点击登录 | 登录失败 | 系统弹出提示框:“账号或密码错误” |
结束语
本文通过对爬虫系统设计与实现进行研究,采用Python爬虫技术、Django框架,实现了爬虫系统设计与实现等功能,同时也实现了岗位、薪水、地区、学历经验、公司等功能,在可扩展性和可维护性上有了很大的提升,以此来满足管理员的需求。经过验证,该系统具有很好的使用价值和推广前景,是一种值得广泛应用的爬虫系统设计与实现。
最后,虽然爬虫系统设计与实现目前已经较为完善,但仍需要持续改进。在未来,我将努力精进自己在系统开发方面的技术能力,继续完善系统功能,提高爬虫系统设计与实现稳定性和安全性,以更好地满足需求。
参考文献
[1] 基于Web服务器的取证技术研究[J]. 张婷婷;陈云云.网络安全技术与应用,2023(06)
[2] 基于Django的毕业论文管理系统设计和开发. 胡明;文翠;黄川.电脑编程技巧与维护,2020
[3] 一种面向Web的英汉平行语料库的构建方法[J]. 徐润华;王东波.金陵科技学院学报(社会科学版),2021(04)
[4] Vue+Django+MyBatis技术应用解析. 陈倩怡;何军.电脑编程技巧与维护,2020
[5] 基于Django框架应用开发技术的分析与研究. 熊永平.电脑知识与技术,2019
[6] 数据可视化Web应用技术举例[J]. 陈益全;刘强.计算机时代,2022(03)
[7] 基于Vue.js的信息管理系统前端架构[J]. 蔡泽铭;王文华.电子技术与软件工程,2020(18)
[8] 基于“互联网+”的电子信息管理系统设计与应用[J]. 张焕英;任萍.信息与电脑(理论版),2023(09)
[9] 基于Python爬虫的系统管理模块开发探究. 杨妍.电声技术,2019
[10] 基于WEB的试验室档案管理系统方案的设计与应用[J]. 蔡宇飞;肖莹;江思杰;徐海明;乔文霞;成厚龙;张海旺.环境技术,2022(02)
[11] 软件工程中的Web开发技术应用[J]. 韩迎红.数字通信世界,2022(07)
[12] Python+Django+MyBatis技术应用解析. 陈倩怡;何军.电脑编程技巧与维护,2020
[13] 大数据时代下的精准营销模式. 陈欣欣.今日财富,2022
[14] 用户画像研究述评. 李锐.科技与创新,2021
[15] 跨境电商中小型企业客户分类管理及跟进策略——以阿里巴巴国际站平台为例. 左瑞瑞;周明金.商业经济,2021
[16] 国内外用户画像研究综述. 徐芳;应洁茹.图书馆学研究,2020
[17]Qu Xiaona. Application of Python Technology in Dynamic Web Database Technology[J]. Journal of Physics: Conference Series,2021,1744(4).
[18]Bouamrane Karim,Matallah Houcine,Belalem Ghalem. Comparative Study Between the MySQL Relational Database and the MongoDB NoSQL Database[J]. International Journal of Software Science and Computational Intelligence (IJSSCI),2021,13(3).
致谢
时光荏苒,四年的大学生活使我收获良多,感谢学校给我们提供了一个创新思维、思考问题和解决问题的平台,感谢老师们在过去给予我的知识和帮助。在这里我要向你们表达最真挚的谢意——感谢大家对我门课程教学的支持与鼓励!我想说的话:努力掌握专业知识、不断提高自己的综合素质。通过四年的学习和实验,老师不仅教会了我们知识,还培养了我们自主学习的能力,让我们可以用课堂上所学到的知识去钻研专业的其它方面。
从爬虫系统设计与实现的选择,到系统的详细设计,再到系统各个功能模块的编码,再到论文的撰写,作为一名没有实际开发经验学员,我的第一感觉就是不知从何说起,非常感谢老师们在系统架构设计、进度安排、关键技术等方面的宝贵经验和投入,让我备受鼓舞,顺利完成了课题。我相信在今后的工作中将会得到更多的收获!互联网时代已经到来了。随着信息技术的不断发展,网络技术也越来越成熟,它改变着人们的生活方式,同时对传统行业产生巨大影响。互联网时代我们提供了丰富的资源,解决了我在发展过程中遇到的许多问题,在前辈的指导下,我一直有一种开放的感觉。
一般来说,不付出艰苦的努力就不会有预期的结果,一个从最初的想法到实践到具体目标的软件系统需要反复的设计、改进、实验、耐心、细心和信心,以及坚持不懈、不断尝试和探索未知事物的精神与勇气。
在论文的最后阶段,感谢xxxxxx学院的老师们在这四年对教学的辛勤付出,也感谢和我一起学习的同学和室友,虽然只有相聚的时间只有短短四年,但还是很高兴能在这里认识你们,因为你们无微不至的陪伴,我才能收获一个精彩的大学生活。