crawlspider类的使用

目标

  1. 掌握crawlspider爬虫的创建方式
  2. 掌握crawlspdier中rules的书写
  3. 能够通过crawlspider类完成一个爬虫

1 crawlspider是什么

回顾之前的代码中,我们有很大一部分时间在寻找下一页的url地址或者是内容的url地址上面,这个过程能更简单一些么?

思路:

  • 从response中提取所有的满足规则的url地址
  • 自动的构造自己requests请求,发送给引擎

对应的crawlspider就可以实现上述需求,匹配满足条件的url地址,才发送给引擎,同时能够指定callback函数

2 认识crawlspider爬虫

2.1 创建crawlspdier爬虫的命令

scrapy genspider –t crawl itcast itcast.cn

2.2 观察爬虫内的默认内容

spider中默认生成的内容如下,其中重点在rules中

  • rules是一个元组或者是列表,包含的是Rule对象
  • Rule表示规则,其中包含LinkExtractor,callbackfollow
  • LinkExtractor:连接提取器,可以通过正则或者是xpath来进行url地址的匹配
  • callback :表示经过连接提取器提取出来的url地址响应的回调函数,可以没有,没有表示响应不会进行回调函数的处理
  • follow:表示进过连接提取器提取的url地址对应的响应是否还会继续被rules中的规则进行提取,True表示会,Flase表示不会
class Itcast1Spider(CrawlSpider):
    name = 'itcast1'
    allowed_domains = ['itcast.cn']
    start_urls = ['http://itcast.cn/']

    rules = (
        Rule(LinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),
    )

    def parse_item(self, response):
        i = {}
        #使用xpath进行数据的提取或者url地址的提取
        return i

2.3 crawlspider的使用

通过crawlspider爬取腾讯招聘的详情页的招聘信息,url:http://hr.tencent.com/position.php

思路分析:

  1. 列表页翻页

    定义一个规则,来进行列表页的翻页,follow需要设置为True,列表页url地址的规律如下

  2. 详情页翻页

    定义一个规则,实现从列表页进入详情页,并且指定回调函数

  3. 详情页数据的提取

    在详情页url地址对应的回调函数中,实现数据提取

具体代码实现:https://blog.csdn.net/apollo_miracle/article/details/85015319 

2.4 crawlspider使用的注意点

2.5 crawlspider的补充知识点(了解)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值