在Scrapy中,get()和extract()都是用于从网页中提取信息的方法。
get()方法用于提取单个元素的信息,它返回一个Selector对象或None。当要提取的元素不存在时,它会返回None。当要提取的元素存在时,它会返回一个Selector对象, 可以使用extract()方法将其转化为文本。 举个例子,假设我们要从一个网页中提取标题,可以使用get()方法:
title = response.xpath('//h1/text()').get()
这里,我们使用xpath选择器来选择网页中的标题,然后使用get()方法提取文本。 而extract()方法用于将Selector对象转化为文本。它接受一个可选参数,用于指定默认值。当Selector对象为空或不存在时,它会返回默认值。否则,它会返回Selector对象的文本内容。 举个例子,假设我们要从一个Selector对象中提取文本:
selector = response.xpath('//div[@class="content"]')
text = selector.extract_first(default='').strip()
这里,我们首先使用xpath选择器选择网页中的内容,然后使用extract_first()方法提取文本,默认值为空字符串。最后,我们使用strip()方法去除文本中的空格和换行符。 总之,get()方法用于选择单个元素并提取其文本,而extract()方法用于将Selector对象转化为文本。两者通常是一起使用的,用于从网页中提取所需信息。