脚本宝典收集整理的这篇文章主要介绍了爬虫--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,请注明来意。