logo资料库

Python豆瓣电影评论的爬取及词云显示论文(含代码).docx

第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
资料共24页,剩余部分请下载后查看
1系统开发背景
2系统相关技术介绍
2.1 Python语言
2.2 requests库
2.3 lxml.etree的使用
3系统分析与设计
3.1系统功能模块组成
3.2实现功能和目标
3.3爬取模块设计
3.3.1电影信息爬取
3.3.2电影评论的爬取
3.3.3爬取过程中下一页的处理
3.4窗口界面设计
4系统实现
4.1 爬取电影信息模块实现
4.1.1 实现界面
4.1.2 实现代码
4.2 爬取评论实现
4.2.1 实现流程及界面
4.2.2 实现代码
4.3 词云模块实现
4.3.1 实现流程及界面
4.3.2 实现代码
5系统开发总结
参考文献
[1]陈杰.本地文件系统数据更新模式研究[D]. 华中科技大学 2014
[2]张若愚.Python 科学计算[M].北京:清华大学出版社.2012
[3]董付国.Python程序设计[M].清华大学出版社.2015
[4]连晓峰.python强化实战[M].北京:机械工业出版社,2019
[5]包永帅.python应用开发实战[M].北京:人民邮电出版社,2018
[6]王国辉.python从入门到项目实战[M].吉林:吉林大学出版社,2018
附录
l.place(x=85,y=80)
_ X X 王 名 姓 8 1 0 2 _ 号 学 专 本 1 0 8 1 本 计 级 班 术 技 与 学 科 机 算 计 业 专 院 学 程 工 气 电 与 息 信 院 学 鲁东大学 2020-2021 学年第 1 学期 2018 级 计算本 1801 专业 课程名称 网络编程 课程号(2220181212-01)考试方式:课程设计论文 题 目 一 二 三 四 五 总分 统分人 得 分 论文题目:电影评论的爬取及分析 章节和分值分布:  系统开发背景(5 分)  系统相关技术介绍(10 分)  系统分析与设计(30 分)  系统实现(40 分) 附录:全部程序源代码(15 分) 要求:1.每章的内容应图文并茂,具体格式参见附件文件;2.论文页数至少在 15 页以上, 要求 A4 纸打印;3.参考文献至少 5 篇以上;4.程序能够演示;5.除了纸质版论文,论文电 子版和源程序也要提交。 教师评语: 教师签字: 年 月 日
鲁东大学课程设计论文 目录 1 系统开发背景 ................................................................................................................................. 1 2 系统相关技术介绍 ......................................................................................................................... 2 2.1 Python 语言 ..........................................................................................................................2 2.2 requests 库............................................................................................................................ 2 2.3 lxml.etree 的使用................................................................................................................. 2 3 系统分析与设计 ............................................................................................................................. 3 3.1 系统功能模块组成 .............................................................................................................. 3 3.2 实现功能和目标................................................................................................................. 4 3.3 爬取模块设计 ..................................................................................................................... 4 3.3.1 电影信息爬取........................................................................................................... 4 3.3.2 电影评论的爬取....................................................................................................... 5 3.3.3 爬取过程中下一页的处理....................................................................................... 5 3.4 窗口界面设计 ..................................................................................................................... 5 4 系统实现 ..........................................................................................................................................6 4.1 爬取电影信息模块实现 ..................................................................................................... 6 4.1.1 实现界面 .................................................................................................................. 6 4.1.2 实现代码 .................................................................................................................. 8 4.2 爬取评论实现 ..................................................................................................................... 9 4.2.1 实现流程及界面 ...................................................................................................... 9 4.2.2 实现代码 ................................................................................................................ 10 4.3 词云模块实现 ................................................................................................................... 12 4.3.1 实现流程及界面 .................................................................................................... 12 4.3.2 实现代码 ................................................................................................................ 14 5 系统开发总结 ............................................................................................................................... 15 参考文献.......................................................................................................................................... 15 附录...................................................................................................................................................16
鲁东大学课程设计论文 电影评论的爬取及分析 摘要:在大数据的环境下,网络资源越加丰富,传统的搜索引擎已经不能够满足大众获取 信息的需求,随着计算机逐步的发展,网络爬虫的出现进入了人们的视野。本文主要讲述了 网络爬虫模块以及操作流程,并通过给定的网址快速爬取影评信息,进行分词做成词云图形 式展示出来。爬取豆瓣网上面的电影评论数据具有很重要的作用。电影评论数据是 NLP(自 然语言处理)重要的数据。通过电影评论数据集可以进一步做中文分词、命名实体识别、关 键词提取、句法分析、文本向量化、情感分析、舆情分析等进一步的数据处理和应用。 1 系统开发背景 当今互联网技术迅速发展,出现了包括大数据和云计算等等新型的技术,在 如此庞大的数据量中获取自己想要的需要耗费大量的时间,搜索的结果准确率也 不是很高。豆瓣网是一家基于用户对于图书、电影和音乐兴趣而搭建的社交网站, 由杨勃创立于 2005 年。豆瓣网推崇算法,根据用户对音乐、书、电影等进行的 操作,自动给出同类趣味和友邻推荐。基于记录和分享而生成的“用户价值”是豆 瓣的核心竞争力。豆瓣网的一大特色是不做运营,用户自发组建的小组是豆瓣特 有的文化和社区产物。本文通过利用 Python 爬虫分类中的聚焦型爬虫网络系统 以及 python 窗体的相关应用,在指定的网页下抓取相关的信息。在本文的实验 中通过在电脑网页抓取豆瓣网中排名 top250 电影的影评信息,再通过选取要爬 取的电影爬取电影评论,成功的爬取后在窗体中显示并以.csv 的格式保存到本 地,接着利用 jieba 分词对下载好的影评信息进行过滤筛选,将高频率出现的词 语通过影评词云图的形式展现在面前。这样的爬取信息大大的提高了爬取信息的 准确性,提高了资源的利用率,节约了查找信息的时间,真正的实现了有目的性 的抓取信息。并且以窗体的形式展示更加具有可用性、易操作性。 1
鲁东大学课程设计论文 2 系统相关技术介绍 2.1 Python 语言 为了爬取影评信息,本系统采用 requests 以及 lxml 模块,通过 requests 中的 get 请求网站信息,再通过 lxml.etree 建立解析树,etree.HTML()可以用来解析字 符串格式的 HTML 文档对象,将传进去的字符串转变成_Element 对象。作为 _Element 对象,可以方便用 xpath 获取 html 源码中的内容。 2.2 requests 库 Requests 是用 Python 语言编写,基于 urllib,采用 Apache2 Licensed 开源 协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。Requests 中 get 请求是常用的请求之一,相对于 post 请求 简单些,对于传参数的 get 请求有的还是有难度的。使用 requests 方法后,会返 回一个 response 对象,其存储了服务器响应的内容,对已经提到的内容获取文本 方式的响应体实例:当访问时,会使用其响应的文本编码进行解码,并且可以修 改其编码使其自定义的编码进行解码。 2.3 lxml.etree 的使用 Element 类型是一种灵活的容器对象,用于在内存中存储结构化数据。 etree.HTML()可以用来解析字符串格式的 HTML 文档对象,将传进去的字符串转 变成_Element 对象,可以使用 xpath 获取 html 源码中的内容。 2
鲁东大学课程设计论文 3 系统分析与设计 3.1 系统功能模块组成 本系统主要内容是爬取影评信息并生成相应词云,具体的功能模块组成如图 1 所示。 图 1 系统功能模块图 3
鲁东大学课程设计论文 3.2实现功能和目标 系统功能分析是在系统开发的总体任务的基础之上完成的。电影影评爬取主 要有以下几项功能: 1.爬取豆瓣 top250 的电影名称和每部电影的链接。 2.保存 top250.csv 电影信息。 3.输入要爬取的电影名称,爬取前 20 页的影评信息。 4.保存’电影名称’.csv 影评信息。 5.词云展示影评信息关键词。 3.3爬取模块设计 3.3.1 电影信息爬取 图 2:电影源代码信息 打开豆瓣电影 top250 所在的网页;在浏览器上打开源代码页面,找到电影信 息的源代码,在 div class=”hd”,下找到电影详细链接所在的目录 a 用@href 获取 中间内容,即为该电影链接,在其包含的下一目录的第一个 span 中获取电影名 称。获取结果如下所示: 需要提取的数据包括(可以使用 xpath 进行匹配): 详细链接:html.xpath('//div[@class="hd"]/a/@href') 电影名称:html.xpath('//div[@class="hd"]/a/span[1]/text()') 4
鲁东大学课程设计论文 3.3.2 电影评论的爬取 图 3:评论源代码信息 同理可得电影评论:html_elem.xpath('//div[@class="comment"]/p/span[1]/text()') 3.3.3 爬取过程中下一页的处理 首先使用 Chrome 浏览器打开 豆瓣电影 Top250,很容易可以判断出网站是 一个静态网页然后分析网站的 URL 规律,以便于通过构造 URL 获取网站中所 有网页的内容: 首页:https://movie.douban.com/top250 第二页:https://movie.douban.com/top250?start=25&filter= 第三页:https://movie.douban.com/top250?start=50&filter= … 不 难 发 现 , URL 可 以 泛 化 为 https://movie.douban.com/top250?start={page}&filter=,其中,page 代表页数 最后我们还需要验证一下首页的 URL 是否也满足规律,经过验证,很容易可以 发现首页的 URL 也满足上面的规律。电影评论的爬取也是满足这个规律。 3.4窗口界面设计 根据系统图以及要实现的功能设计窗口,添加一个按钮实现爬取豆瓣 top250 电影名称和详细链接;添加一个按钮实现对爬取结果电影名称的显示;添加一个 5
鲁东大学课程设计论文 Entry 实现对用户输入电影名称的读取;添加对该电影评论爬取的按钮,实现评 论的爬取;添加一个按钮实现展词云的功能;在下方放置一个滚动文本框,实现 对所做操作的展示。具体窗口设置如下: 图 4:窗体设计图 4 系统实现 4.1 爬取电影信息模块实现 4.1.1 实现界面 6
分享到:
收藏