欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Scrapy问题记录

程序员文章站 2022-05-31 11:19:55
...

一、Filtered offsite request

由于指定了allowed_domains的参数,所有不符合规定的url将被忽略,导致部分url爬取失败,解决方法时不设置该参数,或者设置dont_filter=true

yield Request(url, callback=self.parse_item, dont_filter=True)

二、Item

负责将数据进行结构话的保存,在parse方法中将数据保存到item中,并且返回yield方法,数据会传入到pipline中。

三、pipline

负责保存数据,在settings进行配置,IMAGES_URLS_FIELD必须是一个数组,对应的是item中保存图片的字段

ITEM_PIPELINES = {
   'ArticleSpider.pipelines.ArticlespiderPipeline': 300,
    #配置图片下载的方式
  # 'scrapy.pipelines.images.ImagesPipeline':1
}
##指定从Item的哪个参数获取image url
"""
IMAGES_URLS_FIELD会接收一个数组函数
"""
IMAGES_URLS_FIELD="front_img_url"
##指定保存图片的位置
project_dir=os.path.abspath(os.path.dirname(__file__))
##图片保存路径
IMAGE_STORE=os.path.join(project_dir,'images')