在scrapy管道中使用FilesPipeline实现音频下载

1. 这里省略爬虫代码和items编写,在pipeline.py中添加如下示范代码:

from scrapy.pipelines.files import FilesPipeline

# 自定义一个类,继承FilesPipeline这个父类
class MusicDownloadPipeline(FilesPipeline):

    # item['url']为音乐请求地址,item['name']为音乐名
    def get_media_requests(self, item, info):
        yield scrapy.Request(item['url'], meta={'name': item['name']})

    def file_path(self, request, response=None, info=None, *, item=None):
        filename=request.meta['name']+'.mp3'
        return filename

    def item_completed(self, results, item, info):
        return item

2.在settings.py文件中添加文件保存路径:

FILES_STORE = 'E:/我的文件/好听音乐'  # 保存文件的路径

后面打开管道,执行爬虫程序就可以进行下载了

上一篇:Scrapy入门探索盗墓笔记


下一篇:爬虫终 scrapy框架2 全站爬取cnblogs, scarpy请求传参, 提高爬取效率, 爬虫中间件下载中间件, 集成selenium, fake-useragent, 去重源码分析, 布隆过滤