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

2021/8/5 23:09:32

本文主要是介绍在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管道中使用FilesPipeline实现音频下载的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程