毕业设计类全套文件的下载平台

广州市二手房价数据分析

  • 文件大小:2640 (KB)
  • 文档格式:.doc

文档分类: 建筑工程

< / 41 >

还剩... 页未读,继续阅读

免费阅读已结束,点击付费阅读剩下 ...

阅读已结束,您可以下载文档离线阅读

关于本文

  • 本文标题:广州市二手房价数据分析.doc
  • 链接地址:https://wk.sbvv.cn/view/19905.html
  • 内容摘要:本科毕业设计,论文, DataAnalysisofSecondhandHousingPricesinGuangzhou 院,系, 计算机科学与技术学院 专业 软件工程 班级 软件工程8班 学号 16210120805 学生姓名 罗浩南 指导教师 麦日升 提交日期 年月日 毕业设计,论文,原创性声明 本人郑重声明,所呈交的毕业设计,论文,,是本人在指导老师的指导下,独立进行的设计,研究,工作及取得的成果,论文中引用他人的文献数据图件资料均已明确标注出,论文中的结论和结果为本人独立完成,不包含他人已经发表或撰写的作品及成果。对本文的研究作出贡献的个人和集体,均已在论文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 毕业论文作者,签字,,签字日期,年月日 指导教师评分, 评阅教师评分, 答辩小组评分, 总评成绩, 系主任签字,盖章,, 年月日 广州市二手房价数据分析 内容摘要 随着随着新中国的繁荣昌盛,国民的生活水平大大提高,人民购房的需求愈来愈多,出现了很多带有房价数据的网站,这些数据可以为各个领域的发展提供良好的帮助。这种情况下,为了能让客户更好地选择适合他们心仪的房子,就要更好的对这些数据进行获取。因此,加强对房价网使用爬虫技术获取数据的研究具有重要意义,促进我国房价市场更好的发展。本选题的意义是设计并实现对广州市二手房价的数据分析,利用大数据爬虫房价网去分析每个地域的房价,为用户提供一个可以最直观了解到广州市房价的具体信息。采用python的scrapy爬虫框架对链家网数据进行爬取,并将爬取到的数据输出为csv格式文件,再使用tableau对数据进行分析与可视化。 关键词scrapy框架房价数据可视化 Abstract WiththeprosperityofNewChinathestandardoflivingofthepeoplehasbeengreatlyimprovedthedemandforhousingisincreasingandthedatainvariousfieldsareincreasingsothatthecurrentsocietycanentertheeraofbigdatawhichcanprovidegoodhelpforthedevelopmentofvariousfields。Inthiscaseinorderforpeopletobetterchoosetherighthouseforthemitisnecessarytobetteraccessthesedata。ThereforeitisofgreatsignificancetostrengthentheresearchonhousepricenetusingcrawlertechnologytoobtaindataandtopromotethebetterdevelopmentofhousepricemarketinChina。ThesignificanceofthistopicistodesignandrealizethedataanalysisofsecondhandhousepricesinGuangzhouUsingthebigdatacrawlerhousepricenettoanalyzethehousingpricetrendofeachregiontoprovideusewithamostintuitiveundetandingofthehousingpricesinGuangzhouspecificinformation。ThepythonscrapycrawlerframeisusedtocrawlthedataofLianjianetandthecrawlingdataisoutputintocsvformatfileandthenthedataisanalyzedandvisualizedbytableau。 Keywords,scrapyHousingDataVisualization 目录 第一章绪论 1 1。1选题背景及意义 1 1。2国内外研究情况 1 1。3本文组织架构 2 第二章相关技术概述 3 2。1爬虫技术 3 2。2scrapy框架介绍 3 2。3常见抓取策略 9 2。4Robot协议 10 2。5Tableau简介 11 2。7xpath 11 2。8Cookie 12 2。9Selenium与WebDriver 12 2。10proxy代理 14 第三章系统分析 15 3。1可行性分析 15 3。2功能需求分析 15 3。3需求概述 15 3。4数据获取 15 3。5数据分析 15 3。6数据展示 16 第四章系统总体设计 17 4。1爬取对象简介 17 4。2总体架构设计 17 4。3反爬机制 18 第五章爬虫具体实现 21 5。1爬虫目录结构 21 5。2预设模块 21 5。3抓取模块 22 5。4cookie池 23 5。5代理池 25 5。6运行截图 26 5。7数据展示 28 第六章数据分析与可视化 29 6。1房屋特征词云 29 6。2二手房型和关注人数分布 29 6。3各区房价分布图 29 6。4房区受欢迎程度 30 结论 31 参考文献 32 绪论 选题背景及意义 随着信息技术的迅速发展现在的网络行业信息已经出现出了爆炸式的快速增长互联网上的用户通过使用搜索引擎后就可以轻易地在国际互联网上进行搜索并得到大量的行业数据与技术信息。所以如何建立连接和获取信息已经不再是困扰用户的难题了。众多互联网用户在网上找房子,房价越来越透明,由此产生了大量的数据与信息,本文将以链家网为爬取对象,使用scrapy爬虫框架爬取互联网房价情况,由此对现今房价情况进行分析。Python语言具有丰富的库,曾被誉为胶水语言,其可以连接多种语言,例如Java,c等语言。其中scrapy库被使用的最多。Scrapy是Python语言进行开发的他是为了爬取网站数据而生,而且其是开源的可以频繁的用来进行数据爬取信息处理。使用Scrapy可以以最快的速度,根据自己的需求,爬取所需要的数据,然后保存网页数据为任意数据格式。 1。2国内外研究情况 国内外许多技术专业人员和研究机构对该技术进行了长期深入的研究。自上世纪90年代以来,许多计算机工作者一直在研究这项技术。目前,履带技术已经日趋成熟。许多世界著名的商业搜索引擎,如谷歌,Yahoo,其核心模块是网络爬虫,采集范围广,速度快,爬虫技术是1990年由蒙特利尔大学的学生艾伦埃塔奇(AlanEmtage)发明的。尽管当时还没有现在意义上的万维网(WorldWideWeb)但是已经有百万,千万的网络文件分散存在,它通过脚本代码,自动化从网络上搜寻文件,索引其相关的信息,对于使用者来说,他们可以通过既定的表达式来查询文件。受此启发,在1993年左右,美国的研究机构开发了一款类似该功能的搜索工具,此时的搜索工具除了索引文件之外,还能够检索网络页面。 另外,国内也有很多研究网络爬虫系统的机构和学者。以天网搜索引擎为例。它是由北京大学开发的主从式网络爬虫。主节点根据爬虫程序的性能适当地分配任务。它专门负责对特定的网站进行抓取,采用广度优先的遍历算法策略进行抓取。对于天网系统,不仅可以用来搜索普通网站,还可以搜索FTP站点的信息数据并且方便了用户查找,查询文件。国内还有许多非常优秀的相关学者和研究人员也做了大量的工作。2015年,马连帅等人设计了基于分布式网络新闻采集系统Scrapy的数据采集框架。在分析新闻网站的结构特征的基础上,根据其结构特性,设计了关键词字段抓取和爬虫抓取策略。涉及到动态呈现的网页时,像Selenium这样的自动化测试框架可以用来模拟特定的浏览器操作来呈现结果页面进而解决无法访问的问题。利用Redis缓存数据库管理抓取队列,通过Scrapy中间件设置请求延迟和访问网站阻塞IP地址的问题。 在研究爬虫策略和爬虫框架的细节中,我们可以发现制定合适的爬虫策略和爬虫系统架构是非常重要且非常有必要的。在这整个系统化的工程中,可以说每一个环节都是紧密相连的。考虑到了Scrapy已经有比较成熟的文档和扩展,开发起来相对会轻松一点,可以达到预期的结果。 1。3本文组织架构 本文根据scrapy框架使用pycharm编写python程序,从链家网爬取到数据以后输出csv文件,再用tableau根据不同地区坏境,地铁等条件对房价进行分析,并将分析的数据可视化展现出来。 第一章是引言部分。在本章主要阐述了整个项目的以及项目的背景介绍。分析了爬虫从开始到选择的历史,目的是为了说明该项目的重要性,最后基本简单介绍了论文大概结构和框架。 第二章对相关的技术进行了概述。在本章里主要介绍该系统开发中可能会涉及到的主要技术,大致上包括scrapy,Robot协议,Tableau,xpath,cookie,selenium,webdriver以及proxy代理等。 第三章是对爬虫每个模块架构的描述。主要是对系统进行了可行性和功能性这俩部分的模块架构描述。 第四章则是各个模块代码实现。主要是从爬取对象,反爬机制,总体系统的架构设计来介绍。 第五章是对爬虫爬取的数据的分析与可视化,用了多个例图来作详细介绍,还包括详细的运行过程和代码。 第六章是对爬取到的房价数据进行分析,具体包括对房价以及人数分布,受欢迎程度,房价特征进行详细分析。 最后是对此爬取房价数据进行了总结。 相关技术概述 2。1爬虫技术 网络爬虫可以根据代码规则来自动爬取网站上的一些相关信息,并可以存入数据库。目前有很多家国际互联网公司或者个人使用爬虫,其中包括百度,谷歌等网站,爬虫可以把一个网页上的内容都存储下来,然后对网站上的一些内容进行获取和更新,爬虫的架构主要分为三个模块,分别为数据的采集,数据处理和数据的存储。但是在爬取数据的过程中,爬虫会发出大量的请求,并且网站的开发人员可以检测到都是一个Ip地址请求的,于是网站维护人员就会把该Ip地址拉入黑名单,从而导致爬虫程序发生异常,这种方法有一定的误伤率,容易导致正常的用户也无法访问。Session,当爬虫能拿到服务器对用户的标识Id时候,才能够拿得到Cookies信息。 2。2。1scrapy简介 scrapy是一个网站程序抓取框架用于抓取一个网站内的数据和用于提取网站结构化的数据或非结构化的数据。它目前可以广泛用于企业数据挖掘数据处理和历史数据分析存储等一系列应用中。它最初是为进行页面上的抓取(确切地点来说是专为网页数据抓取)而进行设计的可以广泛应用于网页服务接口(就比如说amazonassociatesweb抓取服务)或获取爬虫引擎返回的网页数据。python是一种高度相互集成的计算机软件编程语言具有丰富的源和开源库。scrapy框架促进爬虫的设计和工作更加快速简单,具有很高的程序健壮性和可扩展性。scrapy在爬虫设计中得到了非常广泛的应用,符合本文所设计爬虫的特征。因此,用scrapy来完成这项研究。 2。2。2scrapy框架组件 图21scrapy框架组件 如所示图21是基于scrapy组件框架的结构图包括各种组件和系统中发生的各种数据流的概述。图中涉及的组件主要包括,程序执行器和引擎,scrapbyengine,spideritempipeline调度器下载器和下载前中间件middleware。下面是对每个应用程序组件的简要介绍。 1,引擎,ScrapyEngine, scarpy的数据流程都由scarpy引擎控制。控制整个系统数据在组件中的走向以及有着相应的触发操作。 2,调度器,Scheduler, 爬网和执行任务的优先级序列通常都是由任务调度器作于维护。调度器自动从引擎接收请求对象,并将这些请求对象直接插入到引擎队列中,以便在以后使用scarpy引擎从引擎发送请求时直接向引擎提供请求对象。每个动态爬虫可以维护自己的动态内存中心队列,一个内存中的队列不能在多个爬虫之间直接共享内存中的队列。由于requset对象的主体结构是result组成,所以在调度模块中的请求对象会比较紧凑。 3,下载器,Downloader, 下载器主要负责实时获取每个页面每个模块的数据,将这些获得的网页数据实时提供给搜索引擎。下载器导出和下载页面后,将自动生成下载页面的文件,并通过下载器的中间件将响应发送到scrapy引擎。之后,由响应引擎处理。 4,爬虫,Spider, 爬网程序是一个由用户编写的组件,用于从响应中提取要爬网的项和请求对象。一个网站项目通常可以对应于多个爬虫程序,每个爬虫程序通常负责自动处理一个或多个新网页。scrapy用item来保存从非静态结构化对象数据中,通过爬虫获取得到的所有结构型对象的数据。 5,数据管道,ItemPipeline, 数据抓取管道是一个负责数据处理的item。数据对应的每个函数request都可能会自动产生多个新的item处理对象数据处理管道对每个新的item处理对象可以进行三种处理比较典型的三种处理方式有爬虫数据管道清理权限等级验证及数据管理持久化。 6,下载器中间件,Downloadermiddlewares, 下载器的中间件通常是位于加扰器引擎和下载器之间的一个特定挂钩,称为下载器中间件,是直接处理下载器并传输链接到搜索引擎的文件响应。下载器上的中间件还提供了一个便捷的下载机制,通过插入自定义代码的操作来扩展Scrapy功能。 7,Spider中间件,Spidermiddlewares, spider上的中间件是位于scrapyengine及爬虫(spider)之间的特定俩个钩子(specifichook)分别用来处理爬虫的respoer和一堆item对象中的requestsm的输出。spider对于中间件有一种十分方便快捷的扩展机制同时用户可以很方便地自定义代码来扩展scrapy的功能。 2。2。3scrapy工作原理 scrapy的框架是由执行它的引擎驱动的控制程序操作的数据流。第一步,当引擎打开一个网站时,它可以找到一个正在处理该网站的爬虫程序,并自动从该网站爬虫程序请求不需要爬虫的网站请求。在第二步中,引擎自动从爬虫程序获取不需要爬网的第一个网站任务的数据,并在数据调度器中以爬网任务文件的形式调度数据。然后向调度程序发送不需要爬网的下一个文件任务的请求。再次,该schedul将不需要爬网的下一个文件任务的请求返回给爬网引擎,该引擎通过该爬网引擎的中间件将爬网任务内容转发给下载引擎,步骤四,下载程序自动执行下载处理任务。一旦下载程序下载了页面上的内容,下载程序会自动生成一个已经属于下载页面的响应,并通过下载程序上的中间件向爬虫引擎发送一个响应任务,第五步,引擎从旧的下载程序中间件接收并获得一个响应,并将其发送给新的爬虫引擎,通过新的爬虫引擎的中间件进行下载处理。在spider处理响应之后,引擎然后返回通过爬网到引擎获得的项新数据任务。步骤六,引擎将任务转发到数据处理管道,对从爬网程序库获得的项进行爬网,并将从生成的任务转发给调度程序,第七步重复第二步直到这个调度器中没收了有待引擎处理的一个任务引擎才会关闭该任务网站。 可以看出,在上述两段代码中,被删除和重用的指纹信息块和指纹函数分别使用了4个组件,通过sha1算法组合得到了一个sha1(method+URL+body+head)。scrapy框架本身提供的动态重复数据删除方法非常好。这种重复数据删除方法唯一能做的就是确定一个地址请求需要指向的动态资源。在某些情况下,例如,需要请求一些新的动态资源web页面。url资源地址的后半部分通常分别有多个参数。如果参数中这些值的顺序稍微颠倒一下,就可能变成不同的资源web地址。但是scrapy框架自己的重复数据消除方法有很多缺点,它使用sha1算法来消除160位信息的重复,例如指纹,或者20字节的信息。如果一个模块包含100万个页面,爬在一个单一页面的网站上,只需直接爬行来衡量这个模块就不需要占用20米的内存,如果还需要爬300个这样的单一页面的网站,直接爬模块就会占用6G的内存,这样的话,用一个垃圾网站自己的网址到这个模块,将会耗费大量的内存。 2。2。4scrapy的安装与使用 在windows系统里使用的是Anaconda,它基于科学计算包开发库的集合。包括许多使用python的开发库以及scrapy所依赖的许多开发库。在使用anaconda的命令行窗口中,数据库使用命令condaitallscrapy,接着安装scrapy框架。在开始爬网之前,我们需要做的第一件事是创建一个名为scrapy的项目,并将该项目传输到需要存储代码的文件目录。正在运行的命令是scrapystartproject。执行项目命令后,将自动创建项目的文件夹。 图22scrapy安装 在开始进行字典数据抓取的工作前我们通常需要先编写好item。py这个文件因为这里的item。py就是我们用来保存通过爬取得到的文件和数据的一个容器其和我们在python这个框架中的对字典拼写使用的方法非常类似并且为了有效避免由于字典拼写错误导致的未正确定义字段的错误还提供了额外的字典错误保护机制。如果我们已经学习过了django这个框架的话会对于item。py感觉到很熟悉因为我们觉得item有点像是类似django这个框架里的两个对象之间关系映射(orm)。 定义一个好容器(item)后就表示我们可以开始创建需要抓取spider的文件了spider文件夹中需要分别定义三个文件属性name这个属性的文件夹是可以用来说明如何区别抓取spider的。因为同一个文件夹下可以存在那么多个需要抓取spider的文件。start_urls包含了需要抓取spider的列表和在重新启动的网页时候需...
  • 版权声明:知知范文网 本站所有内容的版权归相应内容作者或权利人所有,本站不对涉及的版权问题负法律责任。
  • 内容来源:本站所有内容均有网络公开等合法途径整理而来,该资料仅作为交流学习使用,并无任何商业目的,任何访问,浏览本站,购买或者未购买的人,就代表已阅读,理解本条声明
  • 免责声明:内容所标价格,是对本站搜集、整理资料以及本站运营必须费用支付的适当补偿,资料索取者尊重版权方的知识产权,谢谢!

关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@长治毕知网络科技有限公司
ICP备案号:晋ICP备2022002585号