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.
转载于:https://www.cnblogs.com/busui/p/7209560.html
相关资源:数据结构—成绩单生成器