Celery
+ requests
分布式爬虫(爬取数据仅做数据处理与分析学习使用)
virtualenv dbenv # 建立虚拟环境dbenv
source dbenv/bin/activate # 激活python虚拟环境,windows下进入dbenv/bin目录
运行activate
# 如果你是用pyvenv或者conda env或envwrapper等都可以
pip install -r requirements.txt # 安装依赖项
- 各数据库参数可根据你本地安装环境配置
# 安装配置数据库请搜索各类教程,若设置了其他的用户密码等,请修改配置文件相应参数
# 例如只安装了postgresql,则只设置postgresql下各项配置,engine=1
# 若安装使用其他数据库例如mongo、oracle等,请根据项目结构类似的添加相应模块和参数
[dbtype]
db0 = mysql
db1 = postgresql
db2 = sqlite
[mysql]
host = 127.0.0.1
dbname = testdb
user = test
password = test
port = 3306
[postgresql]
host = 127.0.0.1
dbname = testdb
user = test
password = test
port = 5432
[sqlite]
dbname = testdb
# engine
#使用sqlalchemy的engine
#默认为0(mysql),可根据你的本地数据库和虚拟环境使用不同的engine
# 0-mysql,1-postgresql,2-sqlite
[engine]
dbindex = 0
- 配置celery broker和backend
若使用redis设置了密码(建议在安装redis后配置/etc/redis/redis.conf
设置密码),修改host ip
为你的redis-broker i
p, broker和backend为redis database number
,可自行配置.backend也可采用其他的backend.
redis
和celery
安装配置请参考Celery安装配置
- 若采用
rabbitmq
安装配置请搜索相应文档,然后将配置文档相应参数修改为你的自己的参数
[redis-celery]
password = yourpassword
host = yourhostip
port = 6379
broker = 1
backend = 2
[rabbitmq-celery]
user = test
password = test
host = yourhostip
port = 5672
vhost = testvhost
log_dir = BASE_DIR + '/logs' # log文件在主目录的logs文件下
if not os.path.exists(log_dir):
os.mkdir(log_dir)
log_path = os.path.join(log_dir, 'test.log') # log文件名
# 其他相应log文件请根据需要配置
source activate dbenv/bin/activate # windwods请使用上面提到的相应方法
- 在主目录再运行简单的测试程序
python tests/test_db.py # 测试普通的数据库增删改查
python tests/test_orm.py # 测试ORM
python tests/test_logger.py # 测试logger模块
python tests/test_celery.py # 测试celery任务
- 添加数据库操作的log装饰器
- 添加其他类型的数据库连接操作
- 修正celery任务速率与错误处理的问题