文档章节

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

sijinge
 sijinge
发布于 2017/09/01 23:33
字数 2411
阅读 103
收藏 0
点赞 0
评论 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
博文 40
码字总数 36811
作品 0
广州
架构师
[原创]手把手教你写网络爬虫(3):开源爬虫框架对比

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

拓海 ⋅ 04/28 ⋅ 0

用PySpider搜集2017年高校招生章程

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

临江仙卜算子 ⋅ 05/15 ⋅ 0

Python爬虫-pyspider框架的使用

pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任...

_周小董 ⋅ 05/15 ⋅ 0

一个月入门Python爬虫,快速获取大规模数据

数据是创造和决策的原材料,高质量的数据都价值不菲。而利用爬虫,我们可以获取大量的价值数据,经分析可以发挥巨大的价值,比如: 豆瓣、知乎:爬取优质答案,筛选出各话题下热门内容,探索...

Python开发者 ⋅ 04/25 ⋅ 0

使用pyspider抓取起点中文网小说数据

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

某杰 ⋅ 2017/02/22 ⋅ 0

156个Python网络爬虫资源,妈妈再也不用担心你找不到资源了

本列表包含Python网页抓取和数据处理相关的库。 前几天有私信小编要Python的学习资料,小编整理了一些有深度的Python教程和参考资料,从入门到高级的都有,文件已经打包好了,正在学习Pytho...

雁横 ⋅ 05/02 ⋅ 0

【爬虫】进阶修习系列 · 一

本文会涉及以下内容:【不定时修改中。。。】 1. pyspider的介绍; 2. 爬虫架构的典型设计; 3. 垂直搜索引擎的初探。 PySpider 之前的爬虫策略很简单,用得python2.7:urllib2 + Beautiful...

jxfactor ⋅ 2015/10/22 ⋅ 0

pyspider + RabbitMQ 使用记 - 上

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

xh4n3 ⋅ 2015/08/04 ⋅ 0

python开源工具列表【持续更新】

以下是个人在工作中整理的一些python wheel,供参考。 这个列表包含与网页抓取和数据处理的Python库 网络 通用urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库(基于pycurl)。...

武耀文 ⋅ 04/25 ⋅ 0

Pyspider使用Selenium+Chrome实现爬取js动态页面

背景 最近一直在搞论坛的爬虫。爬着爬着,突然遇到一个论坛的反爬虫机制比较强。例如:http://bbs.nubia.cn/forum-64-1.html。当访问这个页面时,第一次返回的不是html页面,而是加密后的js内...

大道至简_Andy ⋅ 01/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从零开始搭建Risc-v Rocket环境---(1)

为了搭建Rocke环境,我买了一个2T的移动硬盘,安装的ubuntu-16.04 LTS版。没有java8,gcc是5.4.0 joe@joe-Inspiron-7460:~$ java -version程序 'java' 已包含在下列软件包中: * default-...

whoisliang ⋅ 26分钟前 ⋅ 0

大数据学习路线(自己制定的,从零开始学习大数据)

大数据已经火了很久了,一直想了解它学习它结果没时间,过年后终于有时间了,了解了一些资料,结合我自己的情况,初步整理了一个学习路线,有问题的希望大神指点。 学习路线 Linux(shell,高并...

董黎明 ⋅ 32分钟前 ⋅ 0

systemd编写服务

一、开机启动 对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。 如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。 ...

勇敢的飞石 ⋅ 34分钟前 ⋅ 0

mysql 基本sql

CREATE TABLE `BBB_build_info` ( `community_id` varchar(50) NOT NULL COMMENT '小区ID', `layer` int(11) NOT NULL COMMENT '地址层数', `id` int(11) NOT NULL COMMENT '地址id', `full_......

zaolonglei ⋅ 43分钟前 ⋅ 0

安装chrome的vue插件

参看文档:https://www.cnblogs.com/yulingjia/p/7904138.html

xiaoge2016 ⋅ 46分钟前 ⋅ 0

用SQL命令查看Mysql数据库大小

要想知道每个数据库的大小的话,步骤如下: 1、进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; 2、查询所有数据的大小: select concat(round(sum(da...

源哥L ⋅ 今天 ⋅ 0

两个小实验简单介绍@Scope("prototype")

实验一 首先有如下代码(其中@RestController的作用相当于@Controller+@Responsebody,可忽略) @RestController//@Scope("prototype")public class TestController { @RequestMap...

kalnkaya ⋅ 今天 ⋅ 0

php-fpm的pool&php-fpm慢执行日志&open_basedir&php-fpm进程管理

12.21 php-fpm的pool pool是PHP-fpm的资源池,如果多个站点共用一个pool,则可能造成资源池中的资源耗尽,最终访问网站时出现502。 为了解决上述问题,我们可以配置多个pool,不同的站点使用...

影夜Linux ⋅ 今天 ⋅ 0

微服务 WildFly Swarm 管理

Expose Application Metrics and Information 要公开关于我们的微服务的有用信息,我们需要做的就是将监视器模块添加到我们的pom.xml中: 这将使在管理和监视功能得到实现。从监控角度来看,...

woshixin ⋅ 今天 ⋅ 0

java连接 mongo伪集群部署遇到的坑

部署mongo伪集群 #创建mongo数据存放文件地址mkdir -p /usr/local/config1/datamkdir -p /usr/local/config2/data mkdir -p /usr/local/config3/data mkdir -p /usr/local/config1/l......

努力爬坑人 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部