Scrapy框架快速入门(一)

scrapy的简介

Scrapy 使用了Twisted[‘twɪstɪd]异步网络框架,可以加快我们的下载速度。

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取。

scrapy的工作流程

这里写图片描述
模块介绍:

  • 调度器:Scheduler,实现一个队列,存放request对象,并发送给引擎
  • 引擎:Scrapy Engine,各功能模块之间交流通道,起到控制作用,负责数据和信号在不同模块间的传递
  • 下载中间件:Downloader Middlewares,可以自定义的下载扩展,比如设置代理ip
  • 下载器:downloader,接收引擎发过来的request请求,获取响应,并将响应通过下载中间件交给引擎
  • 爬虫中间件:spider middleware,可以自定义request请求和进行response过滤
  • 爬虫:spider,处理引擎发过来的response,提取数据或者提取url,并将提取url封装成request请求交给引擎
  • 管道:pipeline,处理引擎传递过来的数据,比如存储

流程介绍:

前提:spider中的start_urls中起始url被statr_requests()方法构造成Request对象,并yield给引擎
1. request对象–爬虫中间件–引擎–调度器–调度器的request对象的队列中
2. 从调度器中取出一个request对象–引擎–下载中间件–下载器发送请求获取response响应
3. response–下载中间件–引擎–爬虫中间件–爬虫
4. 爬虫对response进行提取,提取url就构造成request对象—-重复第1步!
5. 如果提取的是item数据–引擎–管道

使用scrapy

1.安装scrapy命令:sudo apt-get install scrapy 或者:pip install scrapy

2.创建scrapy项目的命令:scrapy startproject +<项目名字>
示例:scrapy startproject myspider
生成的目录和文件结果如下:
这里写图片描述

3.创建爬虫
命令:在项目路径下执行:scrapy genspider +<爬虫名字> + <允许爬取的域名>
示例:
cd myspider
scrapy genspider myspider1 xxx.cn

4.运行scrapy爬虫
命令:在项目目录下执行 scrapy crawl itcast

安装问题
1.E:无法定位到软件包
解决方案:更新源 sudo apt-get update
2.AttributeError: ‘module’ object has no attribute ‘main’
解决方案:找到pycharm 目录下的 \helper\packaging_tool.py 文件
用新版pycharm 的packaging_tool.py 替换 旧版 同名文件(新版文件见另一篇packaging_tool.py)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值