一忌穿、Filtered offsite request
由于指定了allowed_domains的參數(shù),所有不符合規(guī)定的url將被忽略碧注,導(dǎo)致部分url爬取失敗竖哩,解決方法時不設(shè)置該參數(shù),或者設(shè)置dont_filter=true
yield Request(url, callback=self.parse_item, dont_filter=True)
二怀跛、Item
負(fù)責(zé)將數(shù)據(jù)進行結(jié)構(gòu)話的保存距贷,在parse方法中將數(shù)據(jù)保存到item中,并且返回yield方法吻谋,數(shù)據(jù)會傳入到pipline中忠蝗。
三、pipline
負(fù)責(zé)保存數(shù)據(jù)漓拾,在settings進行配置阁最,IMAGES_URLS_FIELD必須是一個數(shù)組,對應(yīng)的是item中保存圖片的字段
ITEM_PIPELINES = {
'ArticleSpider.pipelines.ArticlespiderPipeline': 300,
#配置圖片下載的方式
# 'scrapy.pipelines.images.ImagesPipeline':1
}
##指定從Item的哪個參數(shù)獲取image url
"""
IMAGES_URLS_FIELD會接收一個數(shù)組函數(shù)
"""
IMAGES_URLS_FIELD="front_img_url"
##指定保存圖片的位置
project_dir=os.path.abspath(os.path.dirname(__file__))
##圖片保存路徑
IMAGE_STORE=os.path.join(project_dir,'images')