爬坑总结
百度上搜了好多地方 都是少些了在setting.py的配置 然后看着老版本的文档走了不少弯路、其实文档上说的还是比较清楚的、比百度出来的结果好多了
1、配置
在setting.py中加入以下代码,其实创建的时候就已经自动添加了只不过系统默认注释掉了 打开就好了
ITEM_PIPELINES = {
'enduction.pipelines.EnductionPipeline': 300,
}
2、编写代码
编写pipelines代码
def get_media_requests(self, item, info):
print('-----')
for file_urls in item['file_urls']:
yield scrapy.Request(file_urls, meta={'item': item})
def file_path(self, request, response=None, info=None):
item = request.meta['item'] # 通过上面的meta传递过来item
down_file_name = './full/{0}.zip'.format(item['title'])
return down_file_name
3、注意
系统默认会有process_item函数、一定要注释掉,否则系统不会调用get_media_requests 方法。这个地方所有的教程都没写,坑爹以为没事。结果爬坑爬的类死了
def process_item(self, item, spider):
pass
网友评论