Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例

 更新时间:2020年04月11日 13:23:48   作者:hankleo  
这篇文章主要介绍了Python Scrapy框架:通用爬虫之CrawlSpider用法,结合实例形式分析了Scrapy框架中CrawlSpider的基本使用方法,需要的朋友可以参考下

本文实例讲述了Python Scrapy框架:通用爬虫之CrawlSpider用法。分享给大家供大家参考,具体如下:

步骤01: 创建爬虫项目

scrapy startproject quotes

步骤02: 创建爬虫模版

scrapy genspider -t quotes quotes.toscrape.com

步骤03: 配置爬虫文件quotes.py

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

class Quotes(CrawlSpider):
 # 爬虫名称
  name = "get_quotes"
  allow_domain = ['quotes.toscrape.com']
  start_urls = ['http://quotes.toscrape.com/']

# 设定规则
  rules = (
    # 对于quotes内容页URL,调用parse_quotes处理,
    # 并以此规则跟进获取的链接
    Rule(LinkExtractor(allow=r'/page/\d+'), callback='parse_quotes', follow=True),
    # 对于author内容页URL,调用parse_author处理,提取数据
    Rule(LinkExtractor(allow=r'/author/\w+'), callback='parse_author')
  )

# 提取内容页数据方法
  def parse_quotes(self, response):
    for quote in response.css(".quote"):
      yield {'content': quote.css('.text::text').extract_first(),
          'author': quote.css('.author::text').extract_first(),
          'tags': quote.css('.tag::text').extract()
          }
 # 获取作者数据方法

  def parse_author(self, response):
    name = response.css('.author-title::text').extract_first()
    author_born_date = response.css('.author-born-date::text').extract_first()
    author_bron_location = response.css('.author-born-location::text').extract_first()
    author_description = response.css('.author-description::text').extract_first()

    return ({'name': name,
         'author_bron_date': author_born_date,
         'author_bron_location': author_bron_location,
         'author_description': author_description
         })

步骤04: 运行爬虫

scrapy crawl quotes

更多相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家基于Scrapy框架的Python程序设计有所帮助。

相关文章

  • 基于Python实现的百度贴吧网络爬虫实例

    基于Python实现的百度贴吧网络爬虫实例

    这篇文章主要介绍了基于Python实现的百度贴吧网络爬虫,实例分析了Python实现网络爬虫的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Pandas 中的join函数应用实现删除多余的空行

    Pandas 中的join函数应用实现删除多余的空行

    这篇文章主要介绍了Pandas 中的join函数应用实现删除多余的空行,str.join也就是sequence要连接的元素序列,下面我们来看看他的作用实现删除多余的空行,需要的小伙伴可以参考一下
    2022-02-02
  • 如何将Yolov5的detect.py修改为可以直接调用的函数详解

    如何将Yolov5的detect.py修改为可以直接调用的函数详解

    YOLOv4还没有退热,YOLOv5已经发布,下面这篇文章主要给大家介绍了关于如何将Yolov5的detect.py修改为可以直接调用的函数的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • python如何爬取网页中的文字

    python如何爬取网页中的文字

    在本篇文章里小编给大家整理的是关于python如何爬取网页中的文字的相关实例内容,需要的朋友们可以学习下。
    2020-07-07
  • python selenium反检测问题

    python selenium反检测问题

    这篇文章主要介绍了python selenium反检测问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python实现监控程序执行时间并将其写入日志的方法

    Python实现监控程序执行时间并将其写入日志的方法

    这篇文章主要介绍了Python实现监控程序执行时间并将其写入日志的方法,实例分析了Python日志操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • Python中的sys.stdout.write实现打印刷新功能

    Python中的sys.stdout.write实现打印刷新功能

    今天小编就为大家分享一篇Python中的sys.stdout.write实现打印刷新功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python Matplotlib通过plt.subplots创建子绘图

    Python Matplotlib通过plt.subplots创建子绘图

    这篇文章主要介绍了Python Matplotlib通过plt.subplots创建子绘图,plt.subplots调用后将会产生一个图表和默认网格,与此同时提供一个合理的控制策略布局子绘图,更多相关需要的朋友可以参考下面文章内容
    2022-07-07
  • python爬虫实例之获取动漫截图

    python爬虫实例之获取动漫截图

    这篇文章主要给大家介绍了关于python爬虫实例之获取动漫截图的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • python imread读取文件失败的问题及解决

    python imread读取文件失败的问题及解决

    这篇文章主要介绍了python imread读取文件失败的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论