5.基本概念介绍-scrapy的重要组件

Spider

  • 基本介绍:
    • 概念:是一个类,它定义了怎样爬取网站,包括怎样跟踪链接、怎样提取数据;
    • 循环执行流程:
      1. 通过初始的url产生request
      2. 解析response
      3. 使用selector
      4. 存储到Item
  • 基类(scrapy.Spider)介绍:
    • 属性:
      • name:spider的名称,要求唯一;
      • allowed_domains:允许的域名;
      • start_urls:初始urls;
      • custom_settings:个性化设置,会覆盖全局的设置;
      • crawler:抓取器,spider将绑定到它上面;
      • setting:配置实例,包含工程中所有的配置变量;
      • logger:日志实例
    • 方法:
      • from_crawler(crawler, *args,**kwargs): 类方法,用于创建spiders;
      • start_requests():生成初始的requests;
      • make_request_from_url(url):根据url生成一个request;
      • parse(response):用来解析网页内容;
      • log(message[, level,component]):用来记录日志,这里请使用logger属性记录日志(该方法是为了兼容旧版本的日志模块);
        eg:self.logger.info(“visted success”);
      • closed(reason):当spider关闭的时候调用的方法;
  • 子类介绍:
    • CrawlSpider:
      1. 最常用的spider,用于抓取普通的网页;
      2. 增加两个成员;
        1)rules:定义一些抓取规则–连接怎么跟踪、使用哪一个parse函数解析此链接;
        2)parse_start_url(response):解析初始化url的相应的parse;
        3)实例,文档36页;
    • XMLFeedSpider:解析XML文件
    • CSVFeedSpider:解析CSV文件
    • SitemapSpider:解析sitemap类型的页面

Selector

  • 概念:网页内容抽取器(抽取网页内容有很多方法,比如beautifulsoup、lxml,但是scrapy里面默认使用的是selector,相对来说也是最好用的。)
  • 实例化:(文档41页)
    1.用text

    >>> from scrapy.selector import Selector 
    >>> from scrapy.http import HtmlResponse
    
    >>> body = '<html><body><span>good</span></body></html>' 
    >>>Selector(text=body).xpath('//span/text()').extract() 
    [u'good']

    2.用response

    >>> response = HtmlResponse(url='http://example.com', body=body) 
    >>>Selector(response=response).xpath('//span/text()').extract() 
    [u'good']
  • 常用抽取方法

    • xpath
    • css
    • re
    • extract

Item

Item Pipeline

Feed Export(数据存储方式)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值