简书数据的用户画像分析和内容检索(源码)

面对信息时代数据爆炸式的增加,精确获取有价值的信息成为一个研究热点。为此,本文选取Python作为编程语言,Scrapy作为开发爬虫框架,以“简书”为爬取对象,介绍了爬虫技术原理、核心功能模块以及搜索引擎基本原理。首先,探索性地实现了利用基于Scrapy框架的爬虫获取了目标信息,并利用EChart实现了数据可视化直观、清晰的展示。其次,先深入研究了基于ElasticSearch分布式搜索引擎的相关知识,基于Flask框架设计并实现了用户交互界面,使得用户可以在网页端使用本搜索引擎对简书的文章进行搜索。最后,在本机上对系统进行部署和测试,并与百度的站内搜索结果进行比较,测试表明开发的系统可获得与用户期望更为契合的搜索结果。
目录
摘要 1
关键词 1
Abstract. 1
Key words 1
引言 1
1 绪论 2
1.1 研究背景 2
1.2 国内外网络爬虫及搜索引擎技术概况 2
1.2.1 网络爬虫技术简介 2
1.2.2 搜索引擎研究现状 2
1.3 研究内容与技术路线 2
1.3.1 研究内容 2
1.3.2 技术路线 3
2 开源框架及数据库介绍 3
2.1 Scrapy介绍与使用 3
2.1.1 Scrapy简介 3
2.1.2 Scrapy运行流程 4
2.2 ElasticSearch开源搜索引擎 4
2.2.1 ElasticSearch简介 4
2.2.2 倒排索引 4
2.3 数据的存储 4
2.3.1 NoSQL数据库简介 4
2.3.2 MongoDB数据库简介 5
2.4 网站搭建Flask框架介绍 5
3 简书用户画像系统的实现 6
3.1 用户画像分析业务流程 6
3.2 用户基本信息模块 6
3.2.1 数据获取 6
3.2.2 数据存储 7
3.3 用户行为信息模块 8
3.3.1 数据获取 *好棒文|www.hbsrm.com +Q: ^351916072* 
与存储 8
3.3.2 行为分析 10
3.4 网站搭建模块 10
4 基于ElasticSearch的简书文章搜索系统分析与设计 11
4.1 系统架构 11
4.2 基于Scrapy框架的爬虫实现 12
4.2.1 前置规则预设模块 12
4.2.2 网页抓取模块 13
4.2.3 数据存储模块 13
4.2.4 反爬策略 14
4.3 基于ElasticSearch搜索引擎的设计 15
4.3.1 中文分词 15
4.3.2 相关性打分 17
4.3.3 自动补全 18
4.3.4 搜索历史 18
5 系统部署与界面展示 19
5.1 爬虫部署 19
5.2 系统部署 20
5.3 功能展示界面 20
5.3.1 简书用户画像系统展示 20
5.3.2 搜索引擎系统界面展示 23
6 系统测试 24
6.1 测试环境 24
6.2 与百度站内搜索作对比测试 24
7 总结与展望 26
7.1 总结 26
7.2 展望 27
致谢 27
参考文献 27
基于简书数据的用户画像分析和内容检索
引言
引言
绪论
研究背景
随着互联网及其的广泛应用,可公开索引的万维网里现在包含了超过10亿个页面,并且这个数字正在以每半年翻一番[]的速度增长。搜索引擎能够帮助用户避免盲目地浏览网站,它成为从大量网页来源中寻找信息的重要工具。但是人们对现在大多数的搜索引擎系统不满意,主要是因为糟糕的查询性能和缺少准确的相关评估以及合理的结果排名算法。当人们面对数以百计的查询结果他们感到不知所措。
在2011年,互联网步入“大数据时代”,将关注点放在发现数据存在但暂未发掘的商业价值上,在这之中,个性化技术成为大数据的一个落脚点。而后进一步分析用户的行为,“用户画像”[]这一概念逐渐成型。通过获取大批互联网用户的基本信息以及他们的行为数据信息,并且由此概括得出用户信息的状况,这可以使得我们迅速且深入地了解用户的情况。
国内外网络爬虫及搜索引擎技术概况
网络爬虫技术简介
网络爬虫是一个用于检索URL信息的系统。它可以通过种子URL遍历web页面,它遍历因特网并建立所有搜集到信息的索引。当从URL检索到所有数据时,它会使用其中的外部URL来访问其他网页。
每天搜索引擎中都会更新数百万计的网页索引,如此庞大的数据量非常考验爬虫的运行效率。在众多的搜索引擎之间存在着竞争关系,包括它的规模大小、数据库的精准度、以及响应时间等等。因此,网络爬虫必须先解决以下这些问题。第一,它需要一个有效算法来决定接下来应该检索哪个网页。第二,网络爬虫报告应该在短时间内更新。第三,两个不同的网络爬虫必须共享一个缓存,避免两个都请求同一个页面。第四,网络爬虫必须是高效的系统才能检索大量的页面,同时对于网页崩溃、web服务相关问题有针对性的解决方案。
搜索引擎研究现状
当人们想要与互联网取得连接时,搜索引擎是人们的首选。它能将用户提交的请求作为依据,有针对性且高效率地为用户提供正确无误的检索结果,而现在的搜索引擎技术面临着如下几个方面的问题。第一,网页时效性。由于现在数据来源产生的方式越来越多,使用搜索引擎的用户群体也不断壮大,这就决定了网页更新的速度必须要快速,否则将会影响最终结果的准确性。第二,大数据存储问题。虽然经过数据预处理,但是之后的数量仍然庞大。当前大部分搜索引擎都是采用结构化的数据来存储数据,但它的缺陷在于难以进行并发查询,因此导致了查询效率受限制。第三,检索结果可靠性。出于盈利考虑,网页的搜索结果一般会包含广告,虽然这对开发者来说是收入来源,但是却干扰了最终的检索结果。所以由于人为因素等原因,检索结果的可靠性还有待考察。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1650.html

好棒文