一种高层分布式爬行框架
Cola的Python项目详细描述
概述
cola是一个高级分布式爬网框架, 用于抓取网页并从网站中提取结构化数据。 它提供了简单而快速但灵活的方式来实现数据采集目标。 用户只需编写一段代码,即可在本地和分布式模式下运行。
要求
- python2.7(稍后将支持python3+)
- 在Linux、Windows和Mac OSX上工作
安装
快捷方式:
pip install cola
或者,下载源代码,然后运行:
python setup.py install
运行应用程序
对于wiki或微博应用,请确保安装依赖项,以微博为例:
pip install -r /path/to/cola/app/weibo/requirements.txt
本地模式
为了让应用程序支持本地模式,只需向入口添加代码,如下所示。
fromcola.contextimportContextctx=Context(local_mode=True)ctx.run_job(os.path.dirname(os.path.abspath(__file__)))
然后运行应用程序:
python __init__.py
通过CTRL+C停止本地作业。
分布式模式
开始主控形状:
coca master -s [ip:port]
启动一个或多个工人:
coca worker -s -m [ip:port]
然后运行应用程序(以微博为例):
coca job -u /path/to/cola/app/weibo -r
coca命令
可口可乐是一个方便的命令行工具,适用于整个可乐环境。
主人
杀死主机以停止整个群集:
coca master -k
工作
列出所有作业:
coca job -m [ip:port] -l
示例如下:
list jobs at master: 10.211.55.2:11103 ====> job id: 8ZcGfAqHmzc, job description: sina weibo crawler, status: stopped
您可以运行上面列表中显示的作业:
coca job -r 8ZcGfAqHmzc
实际上,您不必输入完整的作业名称:
coca job -r 8Z
如果没有冲突,作业名的一部分就可以了。
您可以通过以下方式了解正在运行的作业的状态:
coca job -t 8Z
将输出运行期间的计数器等状态 到终点站。
您可以通过kill命令终止作业:
coca job -k 8Z
启动项目
您可以通过以下命令创建应用程序:
coca startproject colatest
记住,“帮助”命令总是有用的:
coca -h
或
coca master -h
捐赠
可乐是一个非营利性项目,现在由我自己维护, 因此,任何捐款都将鼓励可乐项目的进一步改进。
paypay&paypal:qinxuye@gmail.com