【Python3 爬虫学习笔记】pyspider框架的使用 4

xiaoxiao2025-05-24  28

pyspider用法详解

命令行

前面实例通过如下命令启动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了。

转载请注明原文地址: https://www.6miu.com/read-5030647.html

最新回复(0)