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


Posted in Python onApril 11, 2020

本文实例讲述了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模拟新浪微博登陆功能(新浪微博爬虫)
Dec 24 Python
Python中处理时间的几种方法小结
Apr 09 Python
Python实现感知机(PLA)算法
Dec 20 Python
wxPython实现窗口用图片做背景
Apr 25 Python
浅谈pycharm下找不到sqlalchemy的问题
Dec 03 Python
Laravel+Dingo/Api 自定义响应的实现
Feb 17 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
python中PS 图像调整算法原理之亮度调整
Jun 28 Python
python getpass模块用法及实例详解
Oct 07 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
利用python 下载bilibili视频
Nov 13 Python
python xlwt模块的使用解析
Apr 13 Python
Python实现AI换脸功能
Apr 10 #Python
python使用OpenCV模块实现图像的融合示例代码
Apr 10 #Python
Jupyter notebook运行Spark+Scala教程
Apr 10 #Python
Python HTMLTestRunner可视化报告实现过程解析
Apr 10 #Python
jupyter notebook清除输出方式
Apr 10 #Python
解决Python在导入文件时的FileNotFoundError问题
Apr 10 #Python
jupyter notebook参数化运行python方式
Apr 10 #Python
You might like
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
PHP中的日期及时间
2006/11/23 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
PHP 将dataurl转成图片image方法总结
2016/10/14 PHP
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
javascript改变position值实现菜单滚动至顶部后固定
2013/01/18 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
JS实现关闭当前页而不弹出提示框的方法
2016/06/22 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
python中精确输出JSON浮点数的方法
2014/04/18 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
财务会计专业个人求职信范本
2014/01/08 职场文书
大二自我鉴定
2014/01/31 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
法人代表证明书
2014/09/18 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏