当前位置:主页 > 科技论文 > 搜索引擎论文 >

基于分布式爬虫的电影搜索系统的设计与实现

发布时间:2021-01-04 02:48
  随着大数据的到来,数据的价值显得越来越重要。海量的数据有着巨大的研究价值和商业价值,这其中也包含电影信息数据。数据的来源以前是管理员手动输入相关的数据,现在可以通过网络爬虫代替管理员去获取网络上丰富的电影数据。但传统的爬虫不支持分布式,这往往需要花费大量的时间才能爬取足够多的数据。而分布式爬虫通过多个爬虫协同工作爬取数据可以提升成倍的效率,从而解决单个爬虫爬取效率低的问题。电影搜索系统使用分布式爬虫获取电影数据,分布式爬虫使用了Redis数据库和Scrapy爬虫框架。爬虫分为Master端和Slave端,Master端爬虫主要负责解析网页目录页,把匹配的目录页链接存入Redis以便Master后续继续爬取,同时把匹配的详情页链接存入Redis交给Slave端进行后续处理。Slave端爬虫通过查询Redis数据库中详情页链接进行详情页解析并下载数据,下载完数据后通过脚本将数据格式化后存入MySQL数据库中以便网站访问。在爬虫运行过程中,通常会遇到些问题,所以针对这些问题设计了一些中间件来解决。例如通过模仿不同的浏览器发送访问请求来防止爬虫被网站屏蔽,通过爬虫访问时返回的状态码进行不同的应... 

【文章来源】:华中科技大学湖北省 211工程院校 985工程院校 教育部直属院校

【文章页数】:69 页

【学位级别】:硕士

【部分图文】:

基于分布式爬虫的电影搜索系统的设计与实现


Scrapy总体框架图

部署图,守护进程,进程,镜像


9图 2.2 Docker 应用部署图引擎是 Docker 的核心部分,主要包含 Docker 守护进程、Command Line Interface 命令行接口)[39]。其中核心的部分是服务器端,通常在后台运行。服务器端可以部署在远ESTAPI 规范了和守护进程交互的接口。Docker CLI 通过护进程进行交互,实现了通过命令行进行容器和镜像的作方式[40]。部署应用的过程中,用户首先需要在客户端以在网上仓库上下载其他人已经制作好的镜像,然后通多个容器(container),最后用户将自己的应用部署在容t 中只是一个进程,不同进程之间是相互独立且互不可见的

网站功能,需求分析


设计中间件来让爬虫避免被网站屏蔽;对于爬虫访问网页得到的非 2要用中间件进行不同的处理;最后对于爬虫下载异常的问题,则采取尝试重新下载数据。数据存储的功能需求包含抓取字段的设计和数据的取字段的设计需要满足网站的需求,并且数据的存储需要将抓取的数,通常为 json 格式,需要编写脚本存储数据库进行持久化存储,因为数据库读取数据而不是文件。影搜索网站的功能需求,从业务角色的角度,系统可分为两类,分别站方管理员。业务场景则包括面向用户主体的用户端,面向站方用户。从业务及用户需求的角度,在较高层级完成横向切分,对于用户来用户相关、电影搜索、电影收藏、电影评论4个功能需求用例;对于,主要包括用户管理、电影管理、评论管理 3 个功能需求用例,如图 3对用例的各个功能给出相应的说明。


本文编号:2955996

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/2955996.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户9aaa3***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com