scrapy框架中crawlspider的使用

一、初识crawlspider

  • 1、创建项目

    scrapy startproject 项目名称
    
  • 2、查看爬虫模板

    scrapy genspider -l
    
  • 3、创建crawl模板

    scrapy genspider -t crawl 爬虫名称 地址
    
  • 4、自动生成模板如下

    import scrapy
    from scrapy.linkextractors import LinkExtractor
    from scrapy.spiders import CrawlSpider, Rule
    
    
    class WeisuenSpider(CrawlSpider):
        name = 'weisuen'
        allowed_domains = ['sohu.com']
        start_urls = ['http://sohu.com/']
    
        rules = (
            Rule(LinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),
        )
    
        def parse_item(self, response):
            i = {}
            #i['domain_id'] = response.xpath('//input[@id="sid"]/@value').extract()
            #i['name'] = response.xpath('//div[@id="name"]').extract()
            #i['description'] = response.xpath('//div[@id="description"]').extract()
            return i
    

二、关于参数的介绍

  • 1、crawl爬虫是继承了CrawlSpider不是默认模板中继承的scrapy

  • 2、新增了一个规则

    # 表示我们想提取链接中有`.shtml`字符串的链接
    rules = (
            Rule(LinkExtractor(allow='.shtml'), callback='parse_item', follow=True),
        )
    
  • 3、关于LinkExtractor参数的介绍

    参数名参数含义
    allow提取符合对应正则表达式的链接
    deny不提取符合对应正则表达式的链接
    restrict_xpaths使用xpath表达式与allow共用作用提取出同时符合对应xpath表达式和对应正则表达式的链接
    allow_domains允许提取的域名,比如我只想提取某个域名下的链接时候会使用
    deny_domains禁止提取的域名,比如我需要限制一定不提取某个域名下的链接时会使用
  • 4、举例使用

    # 表示抓取网页上以`shtml`结尾的url地址
    rules = (
            Rule(LinkExtractor(allow='.*?/n.*?shtml', allow_domains=('sohu.com',)), callback='parse_item', follow=True),
        )
    

三、查看博主更多文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水痕01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值