scrapy下载文件

scrapy下载文件

  1. 修改settings.py

    FILES_STORE = 'examples_src'  # 设置下载路径
    ITEM_PIPELINES = {  # 设置权重值,值数小,优先调用
        'ListSpider.pipelines.DownloadFilePipeline': 1
    }
    
  2. 修改items定义

    import scrapy
    
    
    class BetsTableItem(scrapy.Item):
        file_urls = scrapy.Field() # 存放下载链接
        files = scrapy.Field()# 存放文件内容
    

    用于保存下载的内容信息。根据官方文档规定,默认保存下载文件信息的字段名为files

  3. 修改pipelines.py

    class DownloadFilePipeline(FilesPipeline):
        def file_path(self, request, response=None, info=None):
            folder = re.findall('=[0-9].*.wav', request.url)  # 文件夹名
            filename = re.findall('=[0-9].*.wav', request.url)  # 文件名
            return os.path.join(filename[0].lstrip('='))
    
上一篇:scrapy 使用代理服务器


下一篇:scrapy获取58同城数据