毕业设计网
JSP,JAVA | python | nodejs | android,安卓 | PHP | 微信小程序 |

基于Python的网络爬虫程序设计

近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的利益,而网络爬虫是其中最为常用的一种从网上爬取数据的手段。
(1)爬虫主要功能如下:
Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理。
Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)。
Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方。
Downloader Middlewares(下载中间件):你可以当作是一个可以自定义扩展下载功能的组件。
Spider Middlewares(Spider中间件):你可以理解为是一个可以自定扩展和操作引擎和Spider中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)
要分为以下几个模块:
1、爬虫功能
网络爬虫从初始地址开始,根据spider中定义的目标地址获的正则表达式或者Xpath获得更多的网页链接,并加入到待下载队列当中,进行去重和排序之后,等待调度器的调度。
在这个系统中,新的链接可以分为两类,一类是目录页链接,也就是我们通常看到的下一页的链接,一类是内容详情页链接,也就是我们需要解析网页提取字段的链接,指向的就是实际的房源信息页面。网络需从每一个目录页链接当中,提取到多个内容页链接,加入到待下载队列准备进一步爬取内容数据字段的设计。
2、数据存储
数据抓取程序中定义了抓取网页的规则和使用Xpath提取字段数据的方法等,这里着重介绍Xpath提取字符数据的方法,Xapth使用路径表达式来选取网页文档中的节点或者节点集。在Xpath中有其中类型的几点:元素、属性、文本、命名空间、处理指令、注释和文档节点。网页文档是被当做节点树来对待,树的跟被称为文档节点和根节点,通过Xpath表达式定位目标节点即可抽取网页文档的字段数据。
数据存储模块主要负责将slave端爬取解析的页面进行存储。使用Mongodb对数据进行存储。
Scrapy支持数据存储的格式有json,csv和xml等文本格式,用户可以在运行爬虫时设置,例如:scrapy crawl spider -o items.json -t json,也可以在Scrapy工程文件额ItemPipline文件中定义,同时,Scrapy也支持数据库存储,如Monogdb,Redis等,当数据量大到一定程度时,可以做Mongodb或者Reids的集群来解决问题,本课题存储到csv中。
3、数据可视化
数据的可视化其实也就是将数据库的数据转换成我们用户容易观察的形式,本课题使用D3.js设计界面展示。
 

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:基于RBAC与工作流融合的企业办公系统
下一篇:基于Java的学校体育信息管理系统


版权所有 毕业设计网联系qq:242219979 © 2007-2022