爬虫--CrawlSpider及深度全站爬取

发布时间:2022-06-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了爬虫--CrawlSpider及深度全站爬取脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

CrawlSpider:

--是Spider的一个子类.Spider是爬虫文件中爬虫类的父类

--作用:被用于专业实现全站数据爬取,将一个页面上所有页码对应的数据进行爬取

--基本使用:

  --创建一个基于CrawlSpider的爬虫文件

    --scrapy genspider -t crawl SpiderName www.xxx.COM

--注意:

  1.一个链接提取器对应一个规则解析器

  2.在实现深度爬取的过程中需要和scrapy.Request()结合使用

 

基本代码:

import scrapy
From scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule


class BlueSpider(CrawlSpider):
    name = 'blue'
    # Allowed_domains = ['www.xxx.com'] # 域名限定,只允许该域名下的链接
    start_urls = ['https://www.xxx.com/category/xxx/page/1']

    # 实例化LinkExtractor对象
    # 链接提取器:指定规则(allow参数)在页面中提取url
    # allow='正则':提取链接的规则
    link = LinkExtractor(allow=r'category/xxx-thailand/page/.*?')
    rules = (
        # 实例化一个Rule对象
        # 规则解析器:接收链接提取器提取到的链接,发起请求,然后根据指定规则(callback)解析数据
        # 一个链接提取器对应一个规则解析器
        Rule(link, callback='parse_ITem', follow=True),
    )

    def parse_item(self, response):
        # 基于response实现数据解析

        PRint(response)

 

脚本宝典总结

以上是脚本宝典为你收集整理的爬虫--CrawlSpider及深度全站爬取全部内容,希望文章能够帮你解决爬虫--CrawlSpider及深度全站爬取所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。