scrapy多线程文件下载

Posted sea101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy多线程文件下载相关的知识,希望对你有一定的参考价值。

在爬取数据时有时候有些文件数据需要爬取下载下来使用多线程下载可以让程序跑的更快点。

scrapy中有个扩展可以使用扩展模块来实现下载。

在自己的spider中加入 custom_settings 

class MytestSpider(scrapy.Spider):
    name = "mytest"
    custom_settings = {
        EXTENSIONS: { #设在拓展
            mymidtest.mydownutils.extension.SpiderOpenCloseLogging: 500,  
        },
        MYEXT_ENABLED: True, #打开拓展
    }
‘mymidtest.mydownutils.extension.SpiderOpenCloseLogging‘为项目路劲下的mydownuils包
在ini函数中加入
    def __init__(self, ):
        .........
        .........
        self.myredis = operatRedis(self.name)
        self.Redis = self.myredis.get_instent()

在要下载的时候添加

self.myredis.add_url_filepath(self.Redis,url,filepath_all)
url为下载url地址,filepath_all文件存储地址
这样工具包就配置好可以下载了


工具包地址
github地址:https://github.com/sea1234/pyScrapyDownUtils

 

以上是关于scrapy多线程文件下载的主要内容,如果未能解决你的问题,请参考以下文章

scrapy主动退出爬虫的代码片段(python3)

scrapy按顺序启动多个爬虫代码片段(python3)

多线程 Thread 线程同步 synchronized

Android 多线程下载,断点续传,线程池

Requests爬虫和scrapy框架多线程爬虫

多个用户访问同一段代码