在前面的文字中通過parse方法返回一個MyscrapyItem對象的方式將抓取的數據保存到指定的文件中,本文會介紹另外一種保存數據的方式:ItemLoader。
本質上,ItemLoader對象也是通過返回一個item的方式保存數據的,只不過ItemLoader對象將item和response(用於從服務端獲取響應數據的對象)進行了封裝。
ItemLoader類的構造方法常用的參數有2個:item和response,其中item用於指定Item對象(如本例的MyscrapyItem對象),response用於指定從服務的獲取數據的對象(本例是response,也是parse方法的第2個參數)。
下面的例子會通過一個ItemLoader對象以及XPath截取文章列表的第一篇文章的標題、摘要和Url。它們分別保存在title、abstract和href三個屬性中。最後在運行網絡爬蟲時會通過“-o”命令行參數指定保存的文件類型(通過擴展名確定文件類型),成功運行後,就會將抓取到的數據保存到指定的文件中。
import scrapy
from scr