下载地址:https://download.csdn.net/download/qq_31293575/18338145
题目 |
基于python的凤凰网网络爬虫设计 |
||||
学生姓名 |
学 号 |
专 业 |
网络工程 |
||
指导教师 |
职 称 |
所在 学院 |
数学与计算机应用学院 |
||
课题来源 |
自拟 |
课题 类型 |
设计 |
||
1.研究的目的和意义 随着互联网的飞速发展,大数据已经渗透到每个行业和业务功能领域,其价值也越来越显著。提取出有意义有价值的数据尤为重要。因此用于互联网信息采集的网络爬虫面临着巨大的机遇和挑战。目前国内外一些大型搜索引擎只给用户提供不可定制的搜索服务,单机网络爬虫又难当重任,已有的分布式网络爬虫虽然功能强、效率高,但普通用户难以理解和使用。 近些年来,伴随着互联网技术的不断发展,互联网数据信息的爆炸将我们带入了大数据时代。社会的各行各业都深受着大数据时代的影响,不断渗透到我们日常的工作、生活和学校当中,影响着社会的不断前进和发展。在大数据时代不断蓬勃发展的今天,人们通过搜索引擎获取数据是具有很大难度的,不但效率低下,而且准确率不高。网络数据爬虫技术是用来高效的获取整合散落在互联网各个角落数据的有效手段,能够为用户高效,准确的提供需求的数据信息。 本论文提出的基于Scrapy框架的数据采集系统可以高效、准确地获取我们所需要的数据资源。根据用户指定的主网及数据类型关键字,爬取我们所需要的数据,并且可以将获取到的数据进行清洗和分类,高效的数据获取、数据的实时性、数据的准确性对用户来说都是十分具有实际意义的。 因此,基于Scrapy框架的数据采集系统是具有研究意义和实用价值的。 |
|||||
2.国内外研究现状 2.1 国外的研究现状 目前,国外设计出了很多的网络爬虫系统,主要由Ubi Crawler,Mercator,Nutch和GoogIeCrawler率和准确率。这些网络爬虫系统都具有自己独特的一面,在数据采集方面都有着很高的效下面,将对以上几种网络爬虫系统做简单的介绍。 谷歌的搜索引擎网络爬虫使用的是分布式的网络爬虫系统,采用多台服务器并行访问网页,抓取数据,系统由多台并行的爬虫主机和一台*主机组成。*主机首先访问请求的Url,然后将请求得到的网页分发给下面并行的主机,来对网页数据进行定位和抓取。各个爬虫主机在完成网页数据的抓取之后,将抓取到的数据做成定义的规格,发送给索引进程使用。索引进程负责管理存储在数据库的网页Url和己经抓取到的网页数据,Url解释器进程负责解析网页Url。解释器进程是将刚刚抓取到的网页Url保存到本地,并且发送给*主机,由*主机读取。谷歌搜索引擎中的网络爬虫系统采用这种循环的方式,将*主机和多台爬虫主机配合使用,不断的从互联网抓取需求的数据。 2.2 国内的研究现状 在国内,同样存在很多的研究单位和高校学者对分布式网络爬虫系统作了大量的研究,很多优良的网络爬虫系统也随之产生。 2017年,孙锐设计并实现了基于Hadoop的分布式网络爬虫系统,深入的阐述了网络爬虫技术的爬行任务部署、工作状态和系统架构设计,并且,阐述了基于Hadoop分布式平台技术,包括MapReduce分布式计算模型和HDFS分布式文件系统。最终设计并且实现了一个基于Hadoop分布式网络爬虫系统。 同样在2017年,马联帅设计的基于Scrapy数据采集框架的分布式网络新闻抓取系统,在深入分析网络新闻爬虫特点的基础上,根据需要抓取的新闻网站的数据排版特点,来设计抓取的字段关键字信息和爬虫的运行策略。当遇到动态网页时,使用Selenium技术来解决动态网页的字段关键字抓取问题,使用Redis数据库管理系统来管理主从结构的分布式网络爬虫系统。系统采用Scrapy网络爬虫框架,Scrapy自带下载中间件,可以有效的解决Ip地址被屏蔽的问题。 2019年,李文龙详细研究了ocker集群的编排管理工具,基于ocker集群的分布式爬虫系统,掌握编排管理工具的工作原理以及调度机制和管理并将它应用在分布式网络爬虫系统。随之,一个适合Docker集群的分布式网络爬虫模块被设计和实现出来,开发人员将这些系统模块根据需求组合起来,最终形成了高效便捷的分布式爬虫系统。这个基于Docker集群的分布式爬虫系统采用Kubernetes集群编排管理工具,使用此编排管理工具来对系统的各个功能模块进行统一的部署和管理,以最终运行在。ocker集群上为目标。 通过国内外关于网络爬虫系统及Scrapy框架的研究,我们不难看出,研究主要针对某一特定数据类型或特定网站,并没有对不同数据类型,不同网页布局类型进行研究,而我们设计的基于Scrapy框架的数据采集系统,是一个系统工程,在这个系统工程中,每个环节都是紧紧相扣,在一定程度上可以满足对不同网页类型和不同数据类型的采集和管理。 |
|||||
3.选题研究的内容 本论文研究内容是基于Python的爬虫网络设计,利用Python的Scrapy的框架搭建爬虫网络,爬取凤凰网https://www.ifeng.com网页中的视频、财经、股票、小说四个栏目,并用Django框架做后台爬取数据管理展示。 我们在设计和实现基于Scrapy爬虫框架的数据采集系统时,如果我们单一使用Scrapy去爬取数据,那么对每一个网址我们都需要去建设一个爬虫工程,这样不仅时间消耗大,而且对技术要求高,并且,获取的数据没有连贯性,对于后期数据分类、查询及调用,都是十分不便利的。 论文设计和实现的基于Scrapy爬虫框架的数据采集系统,用户把需要爬取的主网进行一个任务树形式分配,一次配置,多次使用。而且对于相似的数据类型可以进行归类,后期的数据查询以及数据调用都是十分便捷的。从代码形式的爬虫工程转化成为一个Web页面形式,这样对于用户来说,难度大大降低,用户不需要去理解系统是如何运作,网页是如何解析,只需要按照必要的步骤去构建自己所需要的数据采集任务。 论文所作工作如下: (1)研究并分析大数据时代数据的特点,基于企业和个人对于数据的需求为背景,阐述开发基于以此为指导Scrapy框架的数据采集系统必要性。并且研究数据采集系统的历史发展进程为基于Scrapy框架的数据采集系统的设计与实现奠定了实践基础; (2)对基于Scrapy框架的数据采集系统设计与实现所使用的主要技术进行说明; (3)分析该数据采集系统的业务需求和功能需求; (4)确定系统设计原则,对系统总体框架搭建、功能模块划分和数据库设计进行规划和阐述; (5)设计与实现系统的功能模块。 |
|||||
4.选题研究的技术路线、研究方法和要解决的主要问题 4.1技术路线 本文设计和实现的基于Scrapy爬虫框架的数据采集系统,使用Ubuntu14.04系统和python2.7开发,Ubuntu自带Python2.7编译环境。此外需要安装Pip工具,用于安装Python各种标准库。Pycharm用于作为开发平台,然后依次安装Web应用框架Django和数据采集框架Scrapy,以及关系型数据库MySQL。 4.2 研究方法 本次设计并实现基于Scrapy爬虫框架的数据采集系统。系统架构分为三层,表示层采用Html+jQuery+Bootstrap的组合来呈现网页,业务逻辑层由Web应用框架Django和数据采集框架Scrapy组成,数据层使用MySQL关系型数据库管理系统。Django具备较为完美的模版机制、对象关系映射机制,还能够创建出动态管理后台信息的界面。Scrapy是一个为了爬取网站数据、提取结构性数据而编写的爬虫应用框架,可以应用在包括存储历史数据、数据挖掘、信息处理等一系列的程序中。最后对系统进行测试达到系统的需求。 4.3 要解决的主要问题 本次设计将Scrapy爬虫框架应用到Django框架上,实现爬虫程序的自动化生成。系统功能基本完善,界面友好。用户可以设计和管理自己的网站采集任务,相比传统的手动编写爬虫程序不仅难度低,效率高,而且便于用户管理采集到的数据。 |
|||||
5.研究进度安排: 2020.12.20-2021.03.20:收集资料完成开题报告提交论文写作提纲 2021.03.21-2021.04.20:进行论文设计 2021.04.21-2021.04.30:进行中期检查 2021.05.01-2021.05.20:完成初稿 2021.05.21-2021.06.09:完成二稿 2021.06.09-2021.06.13:完成定稿 2021.06.13-2021.06.17:准备论文答辩资料 2021.06.19-2021.06.23:进行毕业论文答辩 |
|||||
6.主要参考文献 [1]孙俊玲, 王高平, 贺中堃.互联网金融数据自动抓取和优化筛选框架设计与研究[J].财富时代, 2019, 000(009):P.112-112. [2]杨君, 陈春玲, 余瀚. 基于Scrapy技术的数据采集系统的设计与实现[J]. 计算机技术与发展, 2018, 28(010):177-181. [3]杨君. 基于Scrapy技术的数据采集系统的设计与实现[D]. [4]吴永聪. 浅谈Python爬虫技术的网页数据抓取与分析[J]. 计算机时代, 2019, 000(008):94-96. [5]安子建. 基于Scrapy框架的网络爬虫实现与数据抓取分析[D]. [6]韩贝,马明栋,王得玉. 基Scrapy框架的爬虫和反爬虫研究[J]. 计算机技术与发展, 2019, 29(02):145-148. [7]孙俊玲, 王高平, 贺中堃. 互联网金融数据自动抓取和优化筛选框架设计与研究[J]. 财富时代, 2019. [8]吴凯,杨皓然,刘华.基于Python代理IP定向采集爬虫的方案设计与实现[J].信息周刊, 2019, 000(005):0146-0146. [9]秦亚红,普措才仁.基于Scrapy的新闻网页数据抓取设计[J].电子技术与软件工程, 2020, No.174(04):176-177. [10]王海玲,周志彬.基于Scrapy框架的爬虫设计[J].软件导刊, 2020, 019(004):224-228. [11]熊畅.基Python爬虫技术的网页数据抓取与分析研究[J].数字技术与应用, 2017(9):35-36. [12]杜鹏辉,仇继扬,彭书涛,等.基于Scrapy的网络爬虫的设计与实现[J].电子设计工程,2019, 27(22):120-123. [13]李培.基于Python的网络爬虫与反爬虫技术研究[J].计算机与数字工程,2019,47(6). [14]白杨.Python代理IP定向采集爬虫的设计与实现[J].中国新通信,2019, 21(01):40-41. [15]翟普.python网络爬虫爬取策略对比分析[J].电脑知识与技术, 2020, v.16(01):34-35+39. [16]周东.一种网页爬虫抓取方法及装置One kind of method and apparatus for gripping web crawlers:, 2017. [17]Le X , Tian-Wei C , Wei Y.Web Big Data Scraping and Analysis Based on Python[J]. Computer Knowledge and Technology, 2018. |