scrapy

1、scrapy的工作流程

其流程可以描述如下:

  1. 调度器把requests-->引擎-->下载中间件--->下载器
  2. 下载器发送请求,获取响应---->下载中间件---->引擎--->爬虫中间件--->爬虫
  3. 爬虫提取url地址,组装成request对象---->爬虫中间件--->引擎--->调度器
  4. 爬虫提取数据--->引擎--->管道
  5. 管道进行数据的处理和保存

注意:

  • 图中绿色线条的表示数据的传递
  • 注意图中中间件的位置,决定了其作用
  • 注意其中引擎的位置,所有的模块之前相互独立,只和引擎进行交互

2、scrapy中每个模块的具体作用

3、创建scrapy项目

创建scrapy项目的命令:scrapy startproject +<项目名字>

示例:scrapy startproject myspider

生成的目录和文件结果如下:

4、创建爬虫

命令:在项目路径下执行:scrapy genspider +<爬虫名字> + <允许爬取的域名>

示例:

cd myspider
scrapy genspider itcast itcast.cn

生成的目录和文件结果如下:

 

5、总结

  1. Scrapy的安装:pip install scrapy
  2. 创建scrapy的项目: scrapy startproject myspider
  3. 创建scrapy爬虫:在项目目录下执行 scrapy genspider hr tencent.com
  4. 运行scrapy爬虫:在项目目录下执行 scrapy crawl hr
    # 输出JSON格式,默认为Unicode编码
    scrapy crawl hr -o teachers.json
    # 输出JSON Lines格式,默认为Unicode编码
    scrapy crawl hr -o teachers.jsonlines
    # 输出CSV格式,使用逗号表达式,可用Excel打开
    scrapy crawl hr -o teachers.csv
    # 输出XML格式
    scrapy crawl hr -o teachers.xml
  5. 解析并获取scrapy爬虫中的数据:
    1. response.xpath() 方法的返回结果是一个类似list的类型,其中包含的是selector对象,操作和列表一样,但是有一些额外的方法
    2. extract() 返回一个包含有字符串的列表
    3. extract_first() 返回列表中的第一个字符串,列表为空没有返回None
  6. scrapy管道的基本使用:

    1. 完善pipelines.py中的 process_item 函数
    2. 在settings.py中设置开启pipeline
     ITEM_PIPELINES = {
         'myspider.pipelines.ItcastPipeline': 400
     }
    

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值