前面实例通过如下命令启动pyspider:
pyspider all命令行还有很多可配置参数,完整的命令行结构如下所示:
pyspider [OPTIONS] COMMAND [ARGS]其中,OPTIONS为可选参数,它可以指定如下参数。
Options: -c, --config FILENAME 指定配置文件名称 --logging-config TEXT 日志配置文件名称,默认:pyspider/pyspider/logging.conf --debug 开启调试模式 --queue-maxsize INTEGER 队列的最大长度 --taskdb TEXT taskdb的数据库默认连接字符串,默认:sqlite --projectdb TEXT projectdb的数据库连接字符串,默认:sqlite --resultdb TEXT resultdb的数据库连接字符串,默认:sqlite --message-queue TEXT 消息队列连接字符串,默认:multiprocessing.Queue --phantomjs-proxy TEXT PhantomJS使用的代理,ip:port的形式 --data-path TEXT 数据库存放的路径 --version pyspider的版本 --help 显示帮助信息例如,-c可以指定配置文件的名称,这时一个常用的配置,配置文件的样例结构如下所示:
{ "taskdb":"mysql+taskdb://username:password@host:port/taskdb", "projectdb":"mysql+projectdb:username:password@host:port/projectdb", "resultdb":"mysql+resultdb:username:password@host:port/resultdb", "message_queue":"amqp://username:password@host:port/%2F", "webui":{ "username":"some_name", "password":"some_passwd", "need-auth":true } }如果要配置pyspider WebUI的访问认证,可以新建一个pyspider.json,内容如下所示:
{ "webui":{ "username":"root", "password":"12345", "need-auth":true } }这样我们通过在启动时指定配置文件来配置pyspider WebUI的访问认证,用户名为root,密码为123456,命令如下所示:
pyspider -c pyspider.json all运行之后打开http://localhost:5000/, 页面如下: 也可以单独运行pyspider的某一个组件。 运行Scheduler的命令如下所示:
pyspider scheduler [OPTIONS]运行时也可以指定各种配置,参数如下所示:
Options: --xmlrpc / --no-xmlrpc --xmlrpc-host TEXT --xmlrpc-port INTEGER --inqueue-limit INTEGER 任务队列的最大长度,如果满了则新的任务会被忽略 --delete-time INTEGER 设置为delete标记之前的删除时间 --active-tasks INTEGER 当前活跃任务数量配置 --loop-limit INTEGER 单轮最多调度的任务数量 --scheduler-cls TEXT Scheduler使用的类 --help 显示帮助信息运行Fetcher的命令如下所示:
pyspider fetcher[OPTIONS]参数配置如下所示:
Options: --xmlrpc / --no-xmlrpc --xmlrpc-host TEXT --xmlrpc-port INTEGER --poolsize INTEGER 同时请求的个数 --proxy TEXT 使用的代理 --user-agent TEXT 使用的User-Agent --timeout TEXT 超时时间 --fetcher-cls TEXT Fetcher使用的类 --help 显示帮助信息运行Processer的命令如下所示:
pyspider processor [OPTIONS]参数配置如下所示:
Options: --processor-cls TEXT Processor使用的类 --help 显示帮助信息运行WebUI的命令如下:
pyspider webui [OPTIONS]参数配置如下所示:
Options: --host TEXT 运行地址 --port INTEGER 运行端口 --cdn TEXT JS和CSS的CDN服务器 --Scheduler-rpc TEXT Scheduler的xmlrpc --fetcher-rpc TEXT Fetcher的xmlrpc --max-rate FLOAT 每个项目最大的rate值 --max-burst FLOAT 每个项目最大的brust --username TEXT Auth验证的用户名 --password TEXT Auth验证的密码 --need-auth 是否需要验证 --webui-instance TEXT 运行时使用的Flask应用 --help 显示帮助信息这里的配置和前面提到的配置文件参数是相同的。如果想要改变WebUI的端口为5001,单独运行如下命令:
pyspider webui --port 5001或者可以将端口配置到JSON文件中,配置如下所示:
{ "webui":{ "port":5001 } }使用如下命令启动同样可以达到相同的效果:
pyspider -c pyspider.json webui这样就可以在5001端口上运行WebUI了。