文档章节

pyspider爬虫学习-文档翻译-Command-Line.md

sijinge
 sijinge
发布于 2017/09/01 23:33
字数 2411
阅读 150
收藏 0
Command Line 命令行
============

Global Config 全局配置
-------------
你可以通过“pyspider - help”和“pyspider all - help”获得命令帮助。
You can get command help via `pyspider --help` and `pyspider all --help` for subcommand help.
全局选项适用于所有子命令
global options work for all subcommands.

```
用法
Usage: pyspider [OPTIONS] COMMAND [ARGS]...
  
  一个基于python的强大的爬虫系统
  A powerful spider system in python.
命令选项
Options:
  -c, --config FILENAME 文件名    a json file with default values for subcommands.#一个带有默认值的json文件子命令
                           {“webui”: {“port”:5001}}
  --logging-config TEXT    logging config file for built-in python logging #内置python日志记录的日志配置文件
                           module  [default: pyspider/pyspider/logging.conf] #模块[默认值: pyspider/pyspider/logging.conf]
  --debug                  debug mode #调试模式
  --queue-maxsize INTEGER  maxsize of queue #队列的最大容量值
  --taskdb TEXT            database url for taskdb, default: sqlite  #taskdb的数据库url,默认:sqlite
  --projectdb TEXT         database url for projectdb, default: sqlite #projectdb的数据库url,默认:sqlite
  --resultdb TEXT          database url for resultdb, default: sqlite #resultdb的数据库url,默认:sqlite
  --message-queue TEXT     connection url to message queue, default: builtin #连接消息队列的url,默认:builtin
                           multiprocessing.Queue #多线程.队列
  --amqp-url TEXT          [deprecated] amqp url for rabbitmq. please use
                           --message-queue instead. [废弃]amqp url用于rabbitmq。#请使用——消息队列
  --beanstalk TEXT         [deprecated] beanstalk config for beanstalk queue.#[废弃]豆茎队列的豆茎配置
                           please use --message-queue instead. #请使用——消息队列
  --phantomjs-proxy TEXT   phantomjs proxy ip:port #phantomjs 反射 ip:端口 
  --data-path TEXT         data dir path #数据文件路径
  --version                Show the version and exit.#显示版本并退出
  --help                   Show this message and exit.#显示帮助信息并退出
```

#### --config #配置
配置文件是一个JSON文件,配置值为全局选项或子命令(根据子命令命名的子命令)。(例子)(/部署/ # JSON配置)
Config file is a JSON file with config values for global options or subcommands (a sub-dict named after subcommand). [example](/Deployment/#configjson)

``` json
{
  "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
  }
}
```

#### --queue-maxsize  #队列最大值

Queue size limit, 0 for not limit #限制队列大小,0表示不限制

#### --taskdb, --projectdb, --resultdb #任务数据,项目数据,结果数据

```
mysql:
    mysql+type://user:passwd@host:port/database
sqlite:
    # relative path 相对路径
    sqlite+type:///path/to/database.db
    # absolute path 绝对路径
    sqlite+type:////path/to/database.db
    # memory database 内存数据库
    sqlite+type://
mongodb:
    mongodb+type://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
    more: http://docs.mongodb.org/manual/reference/connection-string/
sqlalchemy:
    sqlalchemy+postgresql+type://user:passwd@host:port/database
    sqlalchemy+mysql+mysqlconnector+type://user:passwd@host:port/database
    more: http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html
local:
    local+projectdb://filepath,filepath
类型    
type:
    should be one of `taskdb`, `projectdb`, `resultdb`.可以是`taskdb`, `projectdb`, `resultdb`中的一个
```


#### --message-queue #消息队列

```
rabbitmq:
    amqp://username:password@host:5672/%2F
    see https://www.rabbitmq.com/uri-spec.html
beanstalk:
    beanstalk://host:11300/
redis:
    redis://host:6379/db
    redis://host1:port1,host2:port2,...,hostn:portn (for redis 3.x in cluster mode #在3.x在集群模式下) 
kombu:
    kombu+transport://userid:password@hostname:port/virtual_host
    see http://kombu.readthedocs.org/en/latest/userguide/connections.html#urls
builtin:
    None
```

#### --phantomjs-proxy #phantomjs代理
phantomjs代理地址,您需要一个安装并运行phantomjs代理,命令:[' pyspider phantomjs '](# phantomjs)。
The phantomjs proxy address, you need a phantomjs installed and running phantomjs proxy with command: [`pyspider phantomjs`](#phantomjs).

#### --data-path #数据路径
SQLite 数据库和计数器转储文件存储路径
SQLite database and counter dump files saved path 


all
---

```
用法
Usage: pyspider all [OPTIONS]
  
  Run all the components in subprocess or thread #在子进程或线程中运行所有组件
选项
Options:
  --fetcher-num INTEGER         instance num of fetcher #抓取者的实例数量
  --processor-num INTEGER       instance num of processor #处理器实例数量
  --result-worker-num INTEGER   instance num of result worker #结果工作者实例数量
  --run-in [subprocess|thread]  run each components in thread or subprocess. #在线程或子进程中运行每个组件
                                always using thread for windows.#总是使用线程的窗口
  --help                        Show this message and exit.#显示帮助信息并退出
```


one
---

```
用法
Usage: pyspider one [OPTIONS] [SCRIPTS]...
  #One 模式不仅意味着一体化,它是在一个进程中运行所有的东西在tornado.ioloop,主要是为了调试目的
  One mode not only means all-in-one, it runs every thing in one process
  over tornado.ioloop, for debug purpose
选项
Options:
  -i, --interactive  enable interactive mode, you can choose crawl url.#启用交互模式,你可以选择抓取url。
  --phantomjs        enable phantomjs, will spawn a subprocess for phantomjs #启用phantomjs,将为phantomjs生成一个子流程
  --help             Show this message and exit.#显示帮助信息并退出
```
#注:WebUI不是在one模式下运行
**NOTE: WebUI is not running in one mode.**
#在“one”模式下,结果将被默认写入stdout。你可以通过命令“pyspider one > resultxt”来捕捉它们。
In `one` mode, results will be written to stdout by default. You can capture them via `pyspider one > result.txt`.

#### [SCRIPTS]
#项目的脚本文件路径。项目在运行状态下,`rate` 和 `burst`可以设置获取脚本内容
The script file path of projects. Project status is RUNNING, `rate` and `burst` can be set via script comments:

```
# rate: 1.0
# burst: 3
```
当设置了脚本时,“taskdb”和“resultdb”将在默认情况下使用内存中的sqlite 数据库(可以由全局配置“taskdb”,“- resultdb”来覆盖)。将在on_start回调启动时触发。
When SCRIPTS is set, `taskdb` and `resultdb` will use a in-memory sqlite db by default (can be overridden by global config `--taskdb`, `--resultdb`). on_start callback will be triggered on start.

#### -i, --interactive
#在交互模式下,pyspider将启动一个交互式控制台,询问下一个循环过程中要做什么。在控制台,你可以使用:
With interactive mode, pyspider will start an interactive console asking what to do in next loop of process. In the console, you can use:

``` python
crawl(url, project=None, **kwargs)
    Crawl given url, same parameters as BaseHandler.crawl #抓取给定的url,参数和basehandler.crawl中相同

    url - url or taskid, parameters will be used if in taskdb #url或taskid,参数将在taskdb中使
    project - can be omitted if only one project exists. #如果只存在一个项目可以省略
    
quit_interactive()
    Quit interactive mode #退出交互模式
    
quit_pyspider()
    Close pyspider #关闭pyspider
```
#您可以使用“pyspider.libs.utils.python_console()“在你的脚本中打开一个交互式控制台。
You can use `pyspider.libs.utils.python_console()` to open an interactive console in your script.

bench #基准,基线
-----

```
用法
Usage: pyspider bench [OPTIONS]
  #运行基准测试。在bench模式下,使用内存中的sqlite数据库代替磁盘上的sqlite数据库。
  Run Benchmark test. In bench mode, in-memory sqlite database is used
  instead of on-disk sqlite database.
选项
Options:
  --fetcher-num INTEGER         instance num of fetcher #fetcher实例数量
  --processor-num INTEGER       instance num of processor #processor实例数量
  --result-worker-num INTEGER   instance num of result worker #result worker实例数量
  --run-in [subprocess|thread]  run each components in thread or subprocess.#在线程或子进程中运行每个组件
                                always using thread for windows.#总是使用线程的窗口
  --total INTEGER               total url in test page #测试页面中url总数
  --show INTEGER                show how many urls in a page #显示页面中有多少url
  --help                        Show this message and exit.#显示帮助信息并退出
```


scheduler 调度器
---------

```
用法
Usage: pyspider scheduler [OPTIONS]
  #只允许一个调度器运行
  Run Scheduler, only one scheduler is allowed.
选项
Options:
  --xmlrpc / --no-xmlrpc
  --xmlrpc-host TEXT
  --xmlrpc-port INTEGER
  --inqueue-limit INTEGER  size limit of task queue for each project, tasks
                           will been ignored when overflow #每个项目下任务队列的大小限制,任务数超出时会被忽略
  --delete-time INTEGER    delete time before marked as delete #删除标记为删除的时间
  --active-tasks INTEGER   active log size #活动日志大小
  --loop-limit INTEGER     maximum number of tasks due with in a loop #在循环中完成的最大任务数量
  --scheduler-cls TEXT     scheduler class to be used.#调度器使用的类
  --help                   Show this message and exit.#显示帮助信息并退出
```

#### --scheduler-cls

set this option to use customized Scheduler class #设置此选项可使用定制的调度器类

phantomjs
---------

```
用法
Usage: run.py phantomjs [OPTIONS] [ARGS]...
  如果安装了phantomjs,就可以运行phantomjs抓取
  Run phantomjs fetcher if phantomjs is installed.
选项
Options:
  --phantomjs-path TEXT  phantomjs path #phantomjs 路径
  --port INTEGER         phantomjs port #phantomjs 端口
  --auto-restart TEXT    auto restart phantomjs if crashed #如果phantomjs崩溃自动重启
  --help                 Show this message and exit.#显示帮助信息并退出
```

#### ARGS
#添加args传递到phantomjs命令行
Addition args pass to phantomjs command line.

fetcher 抓取器
-------

```
用法
Usage: pyspider fetcher [OPTIONS]
  #运行抓取器
  Run Fetcher.
选项
Options:
  --xmlrpc / --no-xmlrpc
  --xmlrpc-host TEXT
  --xmlrpc-port INTEGER
  --poolsize INTEGER      max simultaneous fetches #最大同时抓取
  --proxy TEXT            proxy host:port #反射 地址:端口
  --user-agent TEXT       user agent #用户代理
  --timeout TEXT          default fetch timeout #默认抓取超时
  --fetcher-cls TEXT      Fetcher class to be used. #抓取器使用的类
  --help                  Show this message and exit.#显示帮助信息并退出
```

#### --proxy #代理
#可以使用fetcher默认代理替换”self.crawl“中的选项
Default proxy used by fetcher, can been override by `self.crawl` option. [DOC](apis/self.crawl/#fetch)

processor #处理器
---------

```
用法
Usage: pyspider processor [OPTIONS]
  #运行调度器
  Run Processor.
选项
Options:
  --processor-cls TEXT  Processor class to be used.#调度器使用的类
  --help                Show this message and exit.#显示帮助信息并退出
```

result_worker #结果工作者
-------------

```
用法
Usage: pyspider result_worker [OPTIONS]
  运行结果工作者
  Run result worker.
选项
Options:
  --result-cls TEXT  ResultWorker class to be used. #结果工作者使用的类
  --help             Show this message and exit.#显示帮助信息并退出
```


webui 页面
-----

```
用法
Usage: pyspider webui [OPTIONS]
  运行页面
  Run WebUI
选项
Options:
  --host TEXT            webui bind to host #绑定主机地址
  --port INTEGER         webui bind to host #绑定主机端口
  --cdn TEXT             js/css cdn server #js/css cdn 服务器
  --scheduler-rpc TEXT   xmlrpc path of scheduler #调度器的xmlrpc地址
  --fetcher-rpc TEXT     xmlrpc path of fetcher #提取器的xmlrpc地址
  --max-rate FLOAT       max rate for each project #项目最大速率
  --max-burst FLOAT      max burst for each project #项目最大爆发
  --username TEXT        username of lock -ed projects #锁定项目的用户名
  --password TEXT        password of lock -ed projects #锁定项目的密码
  --need-auth            need username and password #必须验证用名密码
  --webui-instance TEXT  webui Flask Application instance to be used.#webui使用的Flask 应用实例
  --help                 Show this message and exit.#显示帮助信息并退出
```

#### --cdn
#JS / CSS libs CDN服务,URL必须兼容[cdnjs](https://cdnjs.com/)
JS/CSS libs CDN service, URL must compatible with [cdnjs](https://cdnjs.com/)

#### --fercher-rpc
#fetcher XMLRPC服务器的XML-RPC路径URI。如果没有设置,请使用Fetcher实例。
XML-RPC path URI for fetcher XMLRPC server. If not set, use a Fetcher instance.

#### --need-auth
#如果可以,所有页面都需要通过指定“--username”和“--password”来获取用户名和密码。
If true, all pages require username and password specified via `--username` and `--password`.

© 著作权归作者所有

共有 人打赏支持
sijinge
粉丝 0
博文 41
码字总数 37230
作品 0
广州
架构师
使用pyspider抓取起点中文网小说数据

简介 pyspider是国人开发的相当好用的爬虫框架。虽然网上教程不是很多,但是文档详细,操作简单,非常适合用来做爬虫练习或者实现一些抓取数据的需求。 本文就以抓取起点中文小说网的小说作品...

某杰
2017/02/22
0
0
手把手教你写网络爬虫(3):开源爬虫框架对比

原文出处:拓海 介绍 大家好!我们从今天开始学习开源爬虫框架Scrapy,如果你看过《手把手》系列的前两篇,那么今天的内容就非常容易理解了。细心的读者也许会有疑问,为什么不学出身名门的A...

拓海
04/28
0
0
pyspider + RabbitMQ 使用记 - 上

接到一个爬虫任务,项目比较巨大,原来想用 Requests 配合正则做爬虫。后来得知了 pyspider 这个神器,才知道之前的想法 low 爆了。pyspider GitHub 按照 GitHub 上的安装教程安装好以后,我...

xh4n3
2015/08/04
0
0
用PySpider搜集2017年高校招生章程

个人认为PySpider是一个十分容易上手而且功能强大的Python爬虫框架。支持多线程爬取、JS动态解析、出错重试、定时爬取等等的功能。最重要的是,它通过web提供了可操作界面,使用非常人性化。...

临江仙卜算子
05/15
0
0
网络爬虫08: PySpider爬虫框架

爬虫的基础知识到这里,已经可以暂时告一段落,接下来就是学会使用框架来写爬虫,用框架会使爬虫代码更加简洁。在这之前,我也了解了一下关于Python爬虫都有哪些框架 Python常用爬虫框架 1....

代码打碟手
09/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
11分钟前
0
0
WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
14
2
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部