使用scrapy开启爬虫

scrapy的模块

scrapy engine:负责各模块的通信信号和数据的传递,像一个联络员
scheduler调度模块:简单来说就是队列,负责接受引擎发送过来的request请求,然后将请求排队,当引擎需要请求数据的时候,就将请求队列中的数据交给引擎
downloader下载器:负责发送请求并下载数据,负责下载引擎发送过来的所有request请求,并将其获得response交还给引擎,然后再由引擎将数据交还给spider来进行解析
spider是爬虫模块:就是平常写的xpath或正则表达式组件,会写很多解析策略,用于分析和提取数据,负责处理所有的response,如果response包含有其他的请求比如说下一页链接等,那么spider会将url提交给引擎,引擎再将url扔到scheduler调度器里
item pipline:是scrapy的管道,就是封装去重类和存储类的地方,负责处理spider中获取到的数据,并且进行后期的处理,过滤或存储等
两个中间件:downloader middlewares:是一个自定义扩展组件,就是我们封装代理或http头,用于隐藏我们的地方
和spider middlewares:可以自定义扩展引擎和spider中间通信功能的组件,比如进入spider的response和从spider出去的request,它可以从中间做一些修改

 

使用步骤

创建项目

scrapy startproject test # 创建项目

创建的文件介绍:

scrapy.cfg:项目配置文件,项目配置文件路径部署信息
items.py: 定义item数据结构的地方
settings.py: 是项目的设置文件,可以定义项目的全局设置
spiders文件夹:编写xpath和正则表达式的地方

创建爬虫项目

scrapy genspider haofly haofly.net # 新建爬虫

明确目标

在items.py定义数据结构

编写spider

在spider文件夹中编写解析策略

编写中间件

在middlewares.py文件中编写中间件功能类,并在settings.py中开启

编写pipline

在piplines.py文件中编写逻辑,来处理spider解析出的数据,并在settings.py中开启piplines

 

注意事项:
中间件定义好,要在setting中启用
爬虫文件名和爬虫名称不能相同,spider目录内不能存在相同爬虫名称的项目文件,否则会冲突导致项目无法启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值