scrapy rule follow的理解和应用
follow 是一个布尔(boolean)值,指定了根据该规则从response提取的链接是否需要跟进。 如果callback 为None,follow 默认设置为 True ,添加回调函数callback后为 False,不跟踪
一句话解释:follow可以理解为回调自己的回调函数
举个例子,如百度百科,从任意一个词条入手,抓取词条中的超链接来跳转,rule会对超链接发起requests请求,如follow为True,scrapy会在返回的response中验证是否还有符合规则的条目,继续跳转发起请求抓取,周而复始,如下图
代码实现:
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders.crawl import Rule, CrawlSpiderclass BaiDuSpider(CrawlSpider):name = "baidu_spider"start_urls = ['https://baike.baidu.com/item/Python/407313?fr=aladdin']'''获取url'''rules = (Rule(LinkExtractor(restrict_xpaths='//*[@class="para"]//a')),)print(rules)
ps: 爬取百度百科时需要在setting中设置不遵守robots规则: ROBOTSTXT_OBEY = False
scrapy rule follow的理解和应用相关推荐
- 关于 scrapy 中 COOKIES_ENABLED 设置 理解问题,看这里就够了
看了很多的文章, 感觉写的都有点扯淡 ,误人子弟 . 源码中 : 默认是注释掉的,但是上面的备注写的是开启状态(没关系, 不管). 所以这个 就有了三个状态: 1. 第一个 源码的 注释状态: # D ...
- python爬虫从入门到实战笔记——第四章Scrapy框架
推荐阅读: python爬虫从入门到实战笔记--第一章爬虫原理和数据爬取 python爬虫从入门到实战笔记--第二章非结构化数据和结构化数据的提取 python爬虫从入门到实战笔记--第三章动态HTM ...
- Python学习笔记——爬虫之Scrapy框架
目录 Scrapy 框架 Scrapy的安装介绍 Windows 安装方式 Ubuntu 需要9.10或以上版本安装方式 入门案例 启动Scrapy Shell Item Pipeline Spide ...
- Scrapy CrawlSpider介绍和使用
一.介绍CrawlSpider CrawlSpider其实是Spider的一个子类,除了继承到Spider的特性和功能外,还派生除了其自己独有的更加强大的特性和功能.其中最显著的功能就是" ...
- Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站
Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/Artic ...
- Scrapy源代码分析-经常使用的爬虫类-CrawlSpider(三)
CrawlSpider classscrapy.contrib.spiders.CrawlSpider 爬取一般站点经常使用的spider.其定义了一些规则(rule)来提供跟进link的方便的机制. ...
- python scrapy框架原理_Scrapy框架的工作原理是什么?
Scrapy框架的工作原理是什么? Scrapy架构 学习Scrapy框架,从理解它的架构开始.图1所示是Scrapy的架构图. 从图1可知,Scrapy框架主要包含以下组件: (1)Scrapy E ...
- 精通python爬虫框架-精通Python爬虫框架Scrapy.pdf
作 者 :(美)迪米特里奥斯·考奇斯·劳卡斯(Dimitrios Kouzis Loukas)著:李斌译 出版发行 : 北京:人民邮电出版社 , 2018.02 ISBN号 :978-7-115-47 ...
- python spider 安装_Python爬虫(11):Scrapy框架的安装和基本使用
大家好,本篇文章我们来看一下强大的Python爬虫框架Scrapy.Scrapy是一个使用简单,功能强大的异步爬虫框架,我们先来看看他的安装. Scrapy的安装 Scrapy的安装是很麻烦的,对于一 ...
最新文章
- python使用imbalanced-learn的SMOTEN方法进行上采样处理数据不平衡问题
- 爬虫学习笔记(十五)——加密解密
- Android NDK调试定位错误
- 外挂学习之路(6)--- 选怪call
- 教你解决ssh连接慢的问题
- 【springBoot测试】【自定义配置】使用SpringBoot测试框架内容
- 心电信号matlab电路仿真实例,基于matlab的心电信号分析系统的设计与仿真.docx
- mysql 基础教程 很全
- 通过Centos7搭建PXE安装Windows操作系统和Centos操作系统及WindowsPE维护系统
- UnicodeDecodeError: 'gbk' codec can't decode byte 0xfe in position 575056: illegal multibyte sequenc
- 交换机下接路由器lan还是wan_无线路由器wan口未连接如何解决【解决方法】
- .net 对网络文件下载
- 如何防止短信验证码被恶意点击
- 函数签名function signature是什么意思
- Android——打电话(选择指定手机卡)、发短信
- 【Linux学习】常见基本指令
- ABOV单片机KEIL C51编译器程序仿真器OCD-II操作步骤详解
- 微信小程序 录音之获取、保存、读取
- RN(React Native)
- PAT 甲级 A1010 Radix (25 分)