没有合适的资源?快使用搜索试试~ 我知道了~
开源python网络爬虫框架Scrapy.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉

温馨提示
开源python网络爬虫框架Scrapy.pdf开源python网络爬虫框架Scrapy.pdf开源python网络爬虫框架Scrapy.pdf开源python网络爬虫框架Scrapy.pdf开源python网络爬虫框架Scrapy.pdf开源python网络爬虫框架Scrapy.pdf开源python网络爬虫框架Scrapy.pdf开源python网络爬虫框架Scrapy.pdf
资源推荐
资源详情
资源评论












开源 python 网络爬虫框架 Scrapy
介绍:
所 谓网络爬虫,就是一个在网上到处或定向抓取数据的程序,当然,这种说法
不够专业,更专业的描述就是,抓取特定网站网页的 HTML 数据。不过由于一个
网站的 网页很多,而我们又不可能事先知道所有网页的 URL 地址,所以,如何
保证我们抓取到了网站的所有 HTML 页面就是一个有待考究的问题了。
一般的方法是,定义一个入口页面,然后一般一个页面会有其他页面的 URL,于
是从当前页面获取到这些 URL 加入到爬虫的抓取队列中,然后进入到新新页面后
再递归的进行上述的操作,其实说来就跟深度遍历或广度遍历一样。
上面介绍的只是爬虫的一些概念而非搜索引擎,实际上搜索引擎的话其系统是相
当复杂的,爬虫只是搜索引擎的一个子系统而已。下面介绍一个开源的爬虫框架
Scrapy。
一、概述
Scrapy 是一个用 Python 写的 Crawler Framework ,简单轻巧,并且非常方便,
并且官网上说已经在实际生产中在使用了,不过现在还没有 Release 版本,可
以直接使用他们的 Mercurial 仓库里抓取源码进行安装。
Scrapy 使用 Twisted 这个异步网络库来处理网络通讯,架构清晰,并且包含了
各种中间件接口,可以灵活的完成各种需求。整体架构如下图所示:

绿 线是数据流向,首先从初始 URL 开始,Scheduler 会将其交
给 Downloader 进行下载,下载之后会交给 Spider 进行分 析,Spider 分析出
来的结果有两种:一种是需要进一步抓取的链接,例如之前分析的“下一页”的
链接,这些东西会被传回 Scheduler ;另一 种是需要保存的数据,它们则被送
到 Item Pipeline 那里,那是对数据进行后期处理(详细分析、过滤、存储等)
的地方。另外,在数据流动的通 道里还可以安装各种中间件,进行必要的处理。
二、组件
1、Scrapy Engine(Scrapy 引擎)
Scrapy 引擎是用来控制整个系统的数据处理流程,并进行事务处理的触发。更
多的详细内容可以看下面的数据处理流程。
2、Scheduler(调度)
调度程序从 Scrapy 引擎接受请求并排序列入队列,并在 Scrapy 引擎发出请求后
返还给他们。
3、Downloader(下载器)
下载器的主要职责是抓取网页并将网页内容返还给蜘蛛( Spiders)。
4、Spiders(蜘蛛)

蜘蛛是有 Scrapy 用户自己定义用来解析网页并抓取制定 URL 返回的内容的类,
每个蜘蛛都能处理一个域名或一组域名。换句话说就是用来定义特定网站的抓取
和解析规则。
蜘蛛的整个抓取流程(周期)是这样的:
1. 首先获取第一个 URL 的初始请求,当请求返回后调取一个回调函数。第一
个请求是通过调用 start_requests()方法。该方法默认从 start_urls 中
的 Url 中生成请求,并执行解析来调用回调函数。
2. 在回调函数中,你可以解析网页响应并返回项目对象和请求对象或两者的
迭代。这些请求也将包含一个回调,然后被 Scrapy 下载,然后有指定的
回调处理。
3. 在回调函数中,你解析网站的内容,同程使用的是 Xpath 选择器(但是你
也可以使用 BeautifuSoup, lxml 或其他任何你喜欢的程序),并生成解
析的数据项。
4. 最后,从蜘蛛返回的项目通常会进驻到项目管道。
5、Item Pipeline(项目管道)
项 目管道的主要责任是负责处理有蜘蛛从网页中抽取的项目,他的主要任务是
清晰、验证和存储数据。当页面被蜘蛛解析后,将被发送到项目管道,并经过几
个特定的 次序处理数据。每个项目管道的组件都是有一个简单的方法组成的
Python 类。他们获取了项目并执行他们的方法,同时他们还需要确定的是是否
需要在项目管 道中继续执行下一步或是直接丢弃掉不处理。
项目管道通常执行的过程有:
1. 清洗 HTML 数据
2. 验证解析到的数据(检查项目是否包含必要的字段)
3. 检查是否是重复数据(如果重复就删除)
4. 将解析到的数据存储到数据库中
6、Downloader middlewares(下载器中间件)
下 载中间件是位于 Scrapy 引擎和下载器之间的钩子框架,主要是处理 Scrapy
引擎与下载器之间的请求及响应。它提供了一个自定义的代码的方式来拓展
Scrapy 的功能。下载中间器是一个处理请求和响应的钩子框架。他是轻量级的,
对 Scrapy 尽享全局控制的底层的系统。
7、Spider middlewares(蜘蛛中间件)
蜘 蛛中间件是介于 Scrapy 引擎和蜘蛛之间的钩子框架,主要工作是处理蜘蛛的
响应输入和请求输出。它提供一个自定义代码的方式来拓展 Scrapy 的功能。 蛛
中间件是一个挂接到 Scrapy 的蜘蛛处理机制的框架,你可以插入自定义的代码
来处理发送给蜘蛛的请求和返回蜘蛛获取的响应内容和项目。
剩余10页未读,继续阅读
资源评论

- m0_741663112023-08-25这个资源内容超赞,对我来说很有价值,很实用,感谢大佬分享~

คิดถึง643
- 粉丝: 3567
- 资源: 1万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
