爬虫大框架之 - Scrapy(三)

Scrapy三

一,CrawlSpider

通过定义一组规则,为跟踪连接提供非常便利的机制

  1. 创建CrawlSpider:scrapy genspider -t crawl weather.spider www.weather.com.cn

    ​ 关键字 关键字 爬虫类 爬虫名 爬取的网页域名

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vy02fSDA-1592032915684)(assets/.png)]

  2. Rule

    Rule 用来定义CrawlSpider的爬取规则

    源码:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1LMrJoxQ-1592032915688)(assets/.png)]

  3. LinkExtractor

    从web页面中提取最终将被跟踪的连接,可以自己定义,必须要有extract_links方法

    源码:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-la2kZKpD-1592032915690)(assets/.png)]

    LinkExtractor的使用(重要)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q1Ckqn1x-1592032915693)(assets/.png)]

    xpath的使用

    # 限制 re 的匹配范围
    
二,CrawlSpider运行流程
  1. 基类Spider

    start_urls 生成初始的Requests请求

    下载器返回response

    response交给回调函数进行处理

    返回items和Request(接着请求->处理)

  2. CrawlSpider

    start_urls 生成初始的Requests请求

    下载器返回response

    response交给rules进行规则匹配,匹配出复合规则的url进行请求

    回调函数对response进行解析,字段在这里插入图片描述

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QJIsV2N2-1592032915697)(assets/.png)]

三,scrapy去重机制

start_url 里面的url是不会有去重机制的,如果重复访问一个网站,访问过一次就不会访问再访问了,但是如果url在start_url里面出现,是不会被过滤的,最多只会被请求两次(使用dont_filter=True这个参数不会对该url进行过滤,比如用在登录)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值