Python+PostgreSQL慕课论坛爬取系统的设计与实现(3)
时间:2021-09-25 19:50 来源:毕业论文 作者:毕业论文 点击:次
1。2。1 JavaScript 简介 JavaScript[2]是一种高级的、动态类型的、弱类型的解释型语言,在 ECMAScript 语言 规范中被标准化。它与 HTML 、CSS 一起,是 World Wide Web 最重要的 3 个核心技术。当前, 绝大多数网站使用 JavaScript,并且主流的浏览器可以无需插件支持 JavaScript 的运行。 JavaScript 是一种基于原型的、支持头等函数语言,这些特点使之对多种编程泛型的 都有良好的支持,如面向对象、命令式编程和函数式编程。 1。2。2 Python 简介 Python[3]是一种面向对象、解释型的编程语言,拥有高效的高级数据结构,并且能够 用简单而又高效的方式进行编程。 Python 是一门扩展性很强的语言,可以很容易的使用 C 或 C++(其他可以通过 C 调 用的语言)为 Python 解释器扩展新函数和数据类型。同时,它包含了一组功能完备的标准 库,能够轻松完成很多常见的任务。 1。3 本文主要内容及组织结构 本文主要介绍了慕课论坛爬取系统的背景、意义、整体设计思路以及相关技术等。 慕课论坛爬取系统能够有效的实现对网易云课堂讨论区的爬取,并且实现对爬取数据 的持久化保存,以及对数据的整理、查询和可视化操作。系统采用 B/S 技术实现,用户不需 要安装任何应用软件即可体验体统功能。系统在设计时,采用 WebSocket 技术,使用 PostgreSQL 数据库和 Tornado 服务器实现。 本系统包括爬取和数据可视化可视化两部分。可以实现对不同课程的选择性爬取,用户可以 通过图表形式可视化地浏览数据,可以使用表单查询的方式对系统资源进行交互。 本文的章节内容安排如下: 第 1 章:绪论。主要详述了课题研究的背景、意义、开发工具的选则、本文的研究内 容和主要贡献。 第 2 章:需求分析。主要介绍了系统功能上需求和性能上的需求。文献综述 第 3 章:系统总体功能模块设计。介绍了功能模块的划分以及数据库的设计。 第 4 章:系统实现过程。介绍了爬取模块和数据可视化模块的具体实现,以及相关的 代码。 第 5 章:关键技术。介绍了本系统的安装和配置步骤。 2 需求分析 2。1 功能需求 2。1。1 爬取功能 1)课程主页 对课程主页的爬取要求获取慕课系统的所有课程信息,以及每个课程的开课情况,如 正在开课、已经结束等等。 2)帖子列表页 对帖子列表页的爬取要求获得一个课程的讨论区的所有发帖,并记录帖子对应的超链 接、页号,为进一步爬取帖子的详细信息做准备。 3)帖子详情页 对帖子详情页的爬取要求获得一个帖子的全部详细信息,如标题、作者、正文、创建 日期、点赞数、评论数等等,所获取的数据要求写入数据库做持久化保存和之后进一步的分 析和展示。 4)评论部分 对评论部分的爬取要求获得一个帖子的所有评论内容,包括正文、作者、创建时间、 点赞数、子评论等,所获取的数据要求写入数据库做持久化保存和之后进一步的分析和展示。 2。1。1 数据可视化功能 1)爬虫活动可视化 该模块要求以一个较短的时间间隔实时地监控爬虫的运行状况和相关活动,并对爬虫 的网络流量以可视化的形式做出展示。 2)活跃用户统计 该模块对慕课系统中活动频率较高的用户做出显示,并对相关用户做出活跃度排序、 发帖数统计等。 (责任编辑:qin) |