extract()extact_first()都是提取Selectordata部分。但现在你要先知道什么是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()的区别

图中,我们可以看到,extract()extact_first()都是提取Selectordata部分。但是extact_first()多做了一步,就是将提取的内容从列表里拿出来。红色框里已经画了出来。
还有便是extact_first()可以在找不到元素的情况下,避免IndexError和返回none.

相关文章:

  • 2022-12-23
  • 2021-05-10
  • 2021-11-02
  • 2021-07-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-08
猜你喜欢
  • 2022-12-23
  • 2021-07-22
  • 2022-12-23
  • 2021-12-26
  • 2022-12-23
  • 2022-02-14
  • 2022-12-23
相关资源
相似解决方案