extract()和extact_first()的区别
extract()和extact_first()都是提取Selector的data部分。但现在你要先知道什么是Selector。
Selector是选择器的意思。具体定义我不知道,但通过下面的例子,你就可以知道选择器是个什么东东。首先看一段代码:
<head>
<meta charset="UTF-8">
<title>Quotes to Scrape</title>
</head>
这里,你还要知道response是什么:它是scrapy.Request返回的一个 TextResponse的实例,以参数形式传递给回调函数。上面的代码便是response.text中的一部分.关于response.text的全部内容可以点击这个网站,调出开发者工具查看。
安装好scrapy后,在cmd下输入scrapy shell "http://quotes.toscrape.com/page/1/",然后再输入 response.css('title')便可以看到:
[<Selector xpath='descendant-or-self::title' data='<title>Quotes to Scrape</title>'>]
这便是选择器。
再看一下下图:

图中,我们可以看到,extract()和extact_first()都是提取Selector的data部分。但是extact_first()多做了一步,就是将提取的内容从列表里拿出来。红色框里已经画了出来。
还有便是extact_first()可以在找不到元素的情况下,避免IndexError和返回none.
extract()和extact_first()的区别的更多相关文章
- JDBC ODBC区别
一.JDBC(Java DataBase Connectivity standard) 1.JDBC,它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库. 2. 驱动程序(JDBC ...
- eclipse 中的 jar file 和 runnable jar file的区别
转自于:http://blog.csdn.net/lijiecong/article/details/6266234 java最难学的就是角落的东东了,不愧叫做java平台.搜索了一把总算明白了. 直 ...
- 『重构--改善既有代码的设计』读书笔记----Extract Method
在编程中,比较忌讳的一件事情就是长函数.因为长函数代表了你这段代码不能很好的复用以及内部可能出现很多别的地方的重复代码,而且这段长函数内部的处理逻辑你也不能很好的看清楚.因此,今天重构第一个手法就是处 ...
- 在linux下面解压用的zxpf是什么意思,它跟zxvf有啥区别
在linux下面解压用的zxpf是什么意思,它跟zxvf有啥区别 linux 命令中tar后跟的zxvf是什么意思:.tar.gz是一个压缩包 .tar只是打包而没有压缩 z:表示 tar 包是被 ...
- 详解webpack中的hash、chunkhash、contenthash区别
hash.chunkhash.contenthash hash一般是结合CDN缓存来使用,通过webpack构建之后,生成对应文件名自动带上对应的MD5值.如果文件内容改变的话,那么对应文件哈希值也会 ...
- Extract Dataset
FROM <SAP PROGRAM DESIGN> Extract Datasets简称为Extract,是SAP中除了内表之外的另一种大量内存数据处理方式,允许用户动态地存储并排序结构化 ...
- TRUNCATE TABLE 与 DELETE的区别
delete from aatruncate table aa 区别1.delete from后面可以写条件,truncate不可以2.delete from记录是一条条删的,所删除的每行记录都会进日 ...
- [转]SQLServer和Oracle,存储过程区别,常用函数对比
本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要 ...
- eclipse中jar file与runnable jar file的区别
直接运行 .class的方法 java -cp . com.network.Chat , 不用加.class后缀 从eclipse中export 的jar file,仅仅是把.class ...
随机推荐
- 【转】使用普通用户执行docker
原文:https://www.cnblogs.com/klvchen/p/9098745.html CentOS 版本 7.4,Docker 版本 docker-1.13 及以下 ll /var/ru ...
- bootstrap-suggest-plugin input可选可输(表单) 好用的前端插件
bootstrap-suggest-plugin DEMO下载 1.准备:页面引入(点击下载) <link rel="stylesheet" href=&q ...
- 【layui】提交表单
1 <script type="text/javascript"> layui.use(['form', 'layer', 'jquery'], function () ...
- 5G时代开启,这些新兴职业决定你的后半生
近段时间,高考志愿填报成为牵动千万家庭的头等大事.事实上,除了学校间的差距外,专业的优劣也在很大程度上决定着人们未来职场生涯的潜力.血淋淋的事实告诉我们,只有选对专业,才能让自己的人生实现升华,并避免 ...
- openjudge 和为给定数(二分答案)
嗯... 题目链接:http://noi.openjudge.cn/ch0111/07/ 这道题是一道不太明显,但很好二分的二分答案的一道题... 首先排序(二分要满足单调性),然后枚举每一个数,在[ ...
- 牛客网Sql
牛客网Sql: 1.查询最晚入职的员工信息 select * from employees where hire_date =(select max(hire_date) from employee ...
- iOS中常用的手势
--前言 智能手机问世后的很长一段时间,各大手机厂商都在思考着智能手机应该怎么玩?也都在尝试着制定自己的一套操作方式.直到2007年乔布斯发布了iPhone手机,人们才认识到智能手机就应该这样玩. 真 ...
- PAT T1012 Greedy Snake
直接暴力枚举,注意每次深搜完状态的还原~ #include<bits/stdc++.h> using namespace std; ; int visit[maxn][maxn]; int ...
- nginx 的precontent阶段的ngx_http_try_files_module模块与mirrors模块介绍
指令介绍 Syntax: try_files file ... uri; try_files file ... =code; Default: — Context: server, location ...
- day4-1深入理解对象之创建对象
深入理解对象 之创建对象: 工厂模式: 工厂模式虽然解决了创建\多个相似对象的问题,但却没有解决对象识别的问题(即怎样知道一个对象的类型) 工厂模式问题:那就是识别问题,因为根本无法 搞清楚他们到底是 ...