更新时间:11-20 上传会员:将大紫
分类:工业设计 论文字数:12965 需要金币:2000个
摘要:随着大数据时代来临,互联网上的数据越来越开放丰富,基于数据来做的事情也越来越多,为了方便网络用户能够在丰富的网络中获得对自己有用的信息。基于网络爬虫的各类搜索平台和搜索引擎应运而生并迅速发展,搜索引擎的出现给互联网与用户之间提供了一个接口,使得用户可以快速的定位和搜索海量的互联网数据,搜索平台和搜索引擎在许多领域得到广泛使用。
截至2018年12月,我国搜索引擎用户规校达7.40亿,使用约为82.8%,用户规模较2017年成增加3718万,增长率为7.2%;手机搜索用户数达7.24亿,使用率为82.9%,户规模较2017年底增加4887万,增长率为8.5%。目前人们上网搜索信息主要是通过谷歌,百度等通用搜索引擎。这类通用搜索引擎虽然功能十分强大,在很多情况下也是能够满足人们的需求的。但是如果用户只想查询具体某个具体领域,或某种主题的相关信息时,我们很容易发现目前的通用搜索引擎有时候满足不了我们的需求,也很难以实现对某领域精准并且高效的搜索,为了向用户提供有效可靠的信息,垂直搜索引擎的出现,就是专们为了解决这个问题的,垂直搜索引擎搜索更有效率,因为它只搜索特定主题的信息。我们可以通过网络爬虫技术,只对特定网站的内容进行爬取,从而避免垃圾网站信息和广告的推送。本文首先阐述了垂直搜索的研究意义,然后对爬虫以及搜索引擎网站搭建的一些技术进行介绍,包括python爬虫框架Scrapy,全文搜索技术等。然后介绍了分布式爬虫的爬虫体现,采用了Scrapy架构,通过Redis作为URL缓存队列进行分布式扩展,使爬虫的效率大大的提升,并采用Elasticsearch的搜索服务结合Django框架搭建搜索平台。
关键词:垂直搜索引擎;网络爬虫;Scrapy;Elasticsearch;
目录
摘要
Abstract
1 绪论-1
1.1选题背景与意义-1
1.2国内外研究现状-1
1.4论文研究的主要内容-2
1.5论文章节安排-2
2 论文核心技术介绍-3
2.1爬虫介绍-3
2.2 Scrapy框架介绍-3
2.2.1 Scrapy框架简介-3
2.2.2 Scrapy框架的组件-3
2.2.3 Scrapy的工作原理-4
2.3 MySQL数据库-5
2.4 Scrapy-redis 分布式爬虫-5
2.5 全文搜索技术-6
2.6 Elasticsearch-7
2.6.1 Elasticsearch的工作原理-7
2.6.2 Elasticsearch核心概念-7
2.6.3 Elasticsearch架构-8
2.6.4 倒排索引-9
2.6.5 Elasticsearch分词组件-9
2.7 本章总结-10
3 垂直搜索引擎设计概要-11
3.1搜索平台技术路线-11
3.2 分布式爬虫系统架构-11
3.3数据库的存储及使用-12
3.4 本章小结-13
4 垂直搜索引擎详细设计及实现-14
4.1 特定网站内容的爬取及存储-14
4.1.1 Xpath的使用-14
4.1.2 Scrapy的items整合字段-15
4.1.3 数据表的设计及存储-16
4.2 反爬虫技术应对策略-17
4.3 Elasticsearch搜索服务的部署及使用-18
4.3.1 Elasticsearch插件的安装及使用-18
4.3.2 Scrapy写入数据到Elasticsearch-19
4.4 Elasticsearch搜索建议-20
4.5 Django搭建搜索平台-21
4.6 本章小节-22
5结论-23
参考文献-24
致 谢-25