pyspider + python2.7

本文详细介绍了Pyspider的安装升级过程,包括pip升级、PhantomJS及依赖项的安装,并解决了启动时的错误配置问题。此外,还提供了如何将Pyspider的数据库从SQLite切换到MySQL的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 升级pip
pip install --upgrade pip

  1. pip安装pyspider
pip install pyspider

  1. 安装phantomjs: https://phantomjs.org/download.html
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
yum -y install bzip2
tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C  /opt/
mv phantomjs-2.1.1-linux-x86_64/ phantomjs

建立软链接

ln -s /opt/phantomjs/bin/phantomjs /usr/bin/ 

安装依赖

yum -y install fontconfig

启动验证

phantomjs
  1. pyspider启动报错
ValueError: Invalid configuration:
  - Deprecated option 'domaincontroller': use 'http_authenticator.domain_controller' instead.

在安装包中找到pyspider的资源包,然后找到webui文件里面的webdav.py文件打开,修改第209行即可。

'domaincontroller': NeedAuthController(app),
'http_authenticator':{
        'HTTPAuthenticator':NeedAuthController(app),
    },
  1. 使用mysql数据库
    启动pyspider
pyspider

默认会在启动目录生成data目录,存放数据,默认使用SQLite数据库

[root@iZbp1gg50ddqbgxf1jpqwwZ opt]# cd data/
[root@iZbp1gg50ddqbgxf1jpqwwZ data]# ll
total 16
-rw-r--r-- 1 root root 3072 Jan 21 17:39 project.db
-rw-r--r-- 1 root root    0 Jan 21 17:39 result.db
-rw-r--r-- 1 root root    6 Jan 21 17:39 scheduler.1d
-rw-r--r-- 1 root root    6 Jan 21 17:39 scheduler.1h
-rw-r--r-- 1 root root    6 Jan 21 17:39 scheduler.all
-rw-r--r-- 1 root root    0 Jan 21 17:39 task.db

  1. 创建mysql数据库
pyspider_taskdb
pyspider_projectdb
pyspider_resultdb
  1. 配置文件
touch /usr/lib/python2.7/site-packages/pyspider/config.json

{
	"taskdb": "mysql+taskdb://root:123456@121.40.112.188:3306/taskdb",
	"projectdb": "mysql+projectdb://root:123456@121.40.112.188:3306/projectdb",
	"resultdb":"mysql+resultdb://root:123456@121.40.112.188:3306/resultdb",
	"message_queue": "redis://root@123456127.0.0.1:6379/db",
	"webui": {
		"port":5000,
		"username": "evans",
		"password": "123456",
		"need-auth": true
	}
}
  1. 安装组件
pip install mysql-connector
pip install redis 如果配置还用了redis的话
  1. 通过配置启动
pyspider -c config.json all
  1. 启动脚本
#!/bin/sh
cd `dirname $0`
if [ `ps -ef | grep 'pyspider' |grep -v 'grep' | wc -l` -lt "1" ];
then
    nohup pyspider -c config.json all  &
    echo "pyspider started"
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值