更新时间:10-25 上传会员:小七想说话
分类:计算机信息 论文字数:9935 需要金币:1000个
摘要:随着网络社区的快速发展,特别是Web2.0技术的兴起和在线社交服务的迅速普及,网络问答社区以"提问-回答"为主要内容已经浮出了水面。回答内容专业、平民用户越来越多、结果通常相对理想、运作方式社交化的特点使得了特别多的青年、中年人争相加入。在越来越多的问答平台中,大多数青年人的言论呈现出自由、多样化、热点事件反应迅速,但易跟风、盲从的特点。
网络问答社区的蓬勃发展,为网络用户获得所需要的信息提供了一个新的方式。创作者将自己的知识储备通过网络进行分享,提问者通过网络获取答案。在这整个过程中,一些具有价值的回答通过双方的问答获得了其了现实价值。但在这种新形势下,快速寻找问题的可靠答案有时候却成了难题,答案质量参差不齐,内容杂乱无章,很多时候用户根本无法在短时间内进行筛选。为了解决这一问题,实现初步的回答筛选和引导功能是十分有必要的。
该平台是基于Python的分布式爬虫,主要内容来源地为悟空问答,首先采用基于Ruby语言开发的Ruby库——WebDriver获取动态的HTML源代码,再使用bs4库下的BeautifalSoup进行解析,得到编译方式为utf—8的源码文本。得到文本后,使用正则表达式分离提取出有效信息,并规范其格式和进行初步筛选,最终达到一个问题选出一个最佳答案的结果。随后调用Python的pymysql模块,将获取的数据存入mysql数据库中,同时,使用TK接口Tkinter,形成交互式的前端界面。
借助此平台,可以解决现有问答平台个人无法在杂乱的信息中摘取有用的回答,或者缺少时间去筛选数量众多的答案的问题,可以迅速且相对准确的找到匹配关键字的相关答案,从中推出最优(甚至次优)回答。亦或者用于想快速了解一个没接触过的事物时,可以较为全面、多角度的综合了解。
关键词:分布式爬虫,问答社区,问答筛选,python
目录
摘要
ABSTRACT
第1章 前言-1
1.1课题研究背景-1
1.2国内外研究现状-1
1.3开发与运行环境-2
1.4课题研究内容-3
1.5课题研究目的与意义-3
1.5.1 研究目的-3
1.5.2 研究意义-3
1.6全文组织结构-4
第2章 问答数据搜索平台的系统分析与相关技术介绍-5
2.1可行性分析-5
1.经济可行性-5
2.技术可行性-5
3.操作可行性-5
2.2 需求分析-5
2.2.1 系统功能需求-5
2.2.2 对抓取HTML页面源码方式的分析-6
2.2.3 对HTML层级关系的分析-6
2.3 WebDriver-7
2.4正则表达式-8
2.5 两个模块:Pymysql与Tkinter-8
第3章 问答数据搜索平台架构的设计-8
3.1问答数据搜索平台架构-8
3.2调度器的设计-10
3.3 URL管理器与网页下载器的设计-10
3.3.1 URL管理器-11
3.3.2网页下载器-11
第4章 问答数据搜索平台架构的实现-11
4.1调度器的实现-11
4.2 URL管理器与网页下载器的实现-13
4.2.1 URL管理器-13
4.2.2网页下载器-13
4.4 网页解析器的设计-13
第5章 爬虫测试-14
5.1爬取测试-15
5.2 数据库测试-15
5.3 网络连接测试-16
第6章 总结与展望-17
6.1 总结-17
6.2 展望-17
附录-19
附上部分代码:-19
参考文献-19