概念
scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。
Scrapy使用了Twisted['twistid']异步网络框架,可以加快我们的下载速度
作用
少量的代码,就能快速的抓取
流程描述如下:
1.爬虫中起始的url构成request对象-->爬虫中间件-->引擎-->调度器
2.调度器把request-->引擎-->下载中间件-->下载器
3.下载器发送请求,获取response响应---->下载中间件---->引擎---->爬虫中间件---->爬虫
4.爬虫提取url地址,组装成request对象---->爬虫中间件---->引擎---->调度器,重复步骤2
5.爬虫提取数据---->引擎---->管道处理和保存数据
各个模块只和引擎做交互
python
class Item(object):
def __init__(self, url, headers):
self.url = url
self.headers = headers
item = Item('https://www.baidu.com', 'headers')
print(item)
print(item.url)
print(item.headers)
将url做成一个对象传给引擎
scrapy的三个内置对象
request请求对象:由url method post_data headers等构成
response响应对象:由url body status headerss等构成
item数据对象:本质是个字典
scrapy中每个模块的具体作用
引擎 数据和信号的传递
调度器 任务队列
下载器
爬虫 起始的url 解析
管道 保存数据
中间件 定制化操作
scrapy的入门使用
安装 pip3 install scrapy