Desc: scrapy_redis
1 默认(仓库)只支持 redis server 上的 db=0 数据库,对此做 enhance
前言
scrapy_redis
1 默认(仓库)只支持 redis server 上的 db=0 数据库2,对此做 enhance。
Enhance
该图片外链地址备份:https://i.loli.net/2020/04/30/VmwBgLz1cuEqlxQ.png
如图所示,只需要修改一行代码就可以使 redis_server 支持在项目的配置中配置使用不同的数据库。
在我提交 pull request3 之后注意到这个仓库已经数年没有更新代码了。
所以这个 pull request 很可能短期不会被 merge 进去。
这是我 fork 修改的仓库地址:https://github.com/RDpWTeHM/scrapy-redis。
如果哪一天我闲 clone 下来 install 麻烦的话,可能会在我自己的 fork 仓库上 release 一版,但是目前似乎没有这个必要。
Usage
安装 enhance 后的代码
首先需要将 scrapy_redis 的代码 git clone
4 下来。
- 可以从原始仓库 🔗 clone 下来,然后像本文上一节一样修改一行代码。
- 也可以从我 fork 修改的仓库上 clone 下来,这样就不需要修改代码直接安装即可。
在上面所述的代码准备好了之后,就可以安装 scrapy_redis 了。
如果之前已经通过 pip install scrapy_redis
之类的方式安装过了的话,则安装之前需要卸载: pip uninstall scrapy_redis
。
然后安装:
$ cd <path>/<to>/<your>/<git clone dir>/scrapy-redis/
$ python3 setup.py sdist # optional step
$ python3 setup.py install
注意: 上文默认你知道如何适当调整命令使适合安装到 LINUX 系统下的“全局环境”或“用户本地环境”或“python 虚拟环境(全局或本地)”。
在 scrapy 项目中使用
默认还是使用 db=0 的 redis server 数据库。对此不需要调整任何原本的 scrapy 项目代码。
如果想要使用 redis server 上其它的数据库2,比如 db=7;那么只要在项目的 settings.py
文件中增加一行 REDIS_DB=7
即可。
如果使用not introduce the way.REDIS_URL
的方式的话,那么无需更新 scrapy-redis 代码就可以使用不同的数据库。
即,原本的 settings.py
如:
REDIS_HOST = "93.214.102.22"
REDIS_PORT = 6379
# REDIS_PARAMS =
修改后:
REDIS_HOST = "93.214.102.22"
REDIS_PORT = 6379
REDIS_DB = 7
# REDIS_PARAMS =
至此,就完成了使用 redis server 的 db 7 数据库。
Reference - N/A
n/a