{
"info": {
"author": "Lukasz Janyst",
"author_email": "xyz@jany.st",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Environment :: No Input/Output (Daemon)",
"Framework :: Scrapy",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Topic :: Internet :: WWW/HTTP"
],
"description": "\n=========\nScrapy Do\n=========\n\n.. image:: https://api.travis-ci.org/ljanyst/scrapy-do.svg?branch=master\n :target: https://travis-ci.org/ljanyst/scrapy-do\n\n.. image:: https://coveralls.io/repos/github/ljanyst/scrapy-do/badge.svg?branch=master\n :target: https://coveralls.io/github/ljanyst/scrapy-do?branch=master\n\n.. image:: https://img.shields.io/pypi/v/scrapy-do.svg\n :target: https://pypi.python.org/pypi/scrapy-do\n :alt: PyPI Version\n\n\nScrapy Do is a daemon that provides a convenient way to run `Scrapy\n`_ spiders. It can either do it once - immediately; or it\ncan run them periodically, at specified time intervals. It's been inspired by\n`scrapyd `_ but written from scratch. It\ncomes with a REST API, a command line client, and an interactive web interface.\n\n * Homepage: `https://jany.st/scrapy-do.html `_\n * Documentation: `https://scrapy-do.readthedocs.io/en/latest/ `_\n\n-----------\nQuick Start\n-----------\n\n* Install ``scrapy-do`` using ``pip``:\n\n .. code-block:: console\n\n $ pip install scrapy-do\n\n* Start the daemon in the foreground:\n\n .. code-block:: console\n\n $ scrapy-do -n scrapy-do\n\n* Open another terminal window, download the Scrapy's Quotesbot example, and\n push the code to the server:\n\n .. code-block:: console\n\n $ git clone https://github.com/scrapy/quotesbot.git\n $ cd quotesbot\n $ scrapy-do-cl push-project\n +----------------+\n | quotesbot |\n |----------------|\n | toscrape-css |\n | toscrape-xpath |\n +----------------+\n\n* Schedule some jobs:\n\n .. code-block:: console\n\n $ scrapy-do-cl schedule-job --project quotesbot \\\n --spider toscrape-css --when 'every 5 to 15 minutes'\n +--------------------------------------+\n | identifier |\n |--------------------------------------|\n | 0a3db618-d8e1-48dc-a557-4e8d705d599c |\n +--------------------------------------+\n\n $ scrapy-do-cl schedule-job --project quotesbot --spider toscrape-css\n +--------------------------------------+\n | identifier |\n |--------------------------------------|\n | b3a61347-92ef-4095-bb68-0702270a52b8 |\n +--------------------------------------+\n\n* See what's going on:\n\n .. figure:: https://github.com/ljanyst/scrapy-do/raw/master/docs/_static/jobs-active.png\n :scale: 50 %\n :alt: Active Jobs\n\n The web interface is available at http://localhost:7654 by default.\n\n--------------------\nBuilding from source\n--------------------\n\nBoth of the steps below require `nodejs` to be installed.\n\n* Check if things work fine:\n\n .. code-block:: console\n\n $ pip install -rrequirements-dev.txt\n $ tox\n\n* Build the wheel:\n\n .. code-block:: console\n\n $ python setup.py bdist_wheel\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://jany.st/scrapy-do.html",
"keywords": "",
"license": "BSD License",
"maintainer": "",
"maintainer_email": "",
"name": "scrapy-do",
"package_url": "https://pypi.org/project/scrapy-do/",
"platform": "",
"project_url": "https://pypi.org/project/scrapy-do/",
"project_urls": {
"Homepage": "https://jany.st/scrapy-do.html"
},
"release_url": "https://pypi.org/project/scrapy-do/0.3.2/",
"requires_dist": [
"scrapy",
"twisted",
"pyOpenSSL",
"psutil",
"python-dateutil",
"schedule",
"pem",
"tabulate",
"requests",
"autobahn",
"tzlocal"
],
"requires_python": "",
"summary": "A daemon for scheduling Scrapy spiders",
"version": "0.3.2"
},
"last_serial": 5138854,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "b34748d95f5503b9a1f731e8c3b2295b",
"sha256": "d90388c240648c391b1dc4d911d158d735a487f7c3c2c82d6b3d08db353afecd"
},
"downloads": -1,
"filename": "scrapy_do-0.1.0-py3-none-any.whl",
"has_sig": true,
"md5_digest": "b34748d95f5503b9a1f731e8c3b2295b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 20685,
"upload_time": "2017-12-11T17:40:11",
"url": "https://files.pythonhosted.org/packages/f3/3f/0a9fdcbbde07dacaccaa13f23c311e1d58808b2637b9b89d870093f79681/scrapy_do-0.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0e6b6e12f968af9161b414c5dd710649",
"sha256": "b63188f4450a304f9e78fd1899ce2053f0ca9bb631226c42f18105c27039f791"
},
"downloads": -1,
"filename": "scrapy-do-0.1.0.tar.gz",
"has_sig": true,
"md5_digest": "0e6b6e12f968af9161b414c5dd710649",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15531,
"upload_time": "2017-12-11T17:40:14",
"url": "https://files.pythonhosted.org/packages/4c/40/3337dc90bc3a35fdc54c4d590375f7589dc7b88e2c495615bc7b0f342bb3/scrapy-do-0.1.0.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "5e180cd2a352befea28275d61d3a84ef",
"sha256": "8580bb7421a777ee3b6103e77aa808ada9c67c222b9f9e1d7bc6b0e307ac5fb8"
},
"downloads": -1,
"filename": "scrapy_do-0.2.0-py3-none-any.whl",
"has_sig": true,
"md5_digest": "5e180cd2a352befea28275d61d3a84ef",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 29200,
"upload_time": "2018-01-27T10:14:23",
"url": "https://files.pythonhosted.org/packages/5b/78/bd7f2adcdabddc939218d1cc8fa54b081697f3826048743b698fb2481496/scrapy_do-0.2.0-py3-none-any.whl"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "a1e65f5486dedbdcfdba62ce4319f2ae",
"sha256": "9d1f97626df8a6dbef7d367c368091292e04af0cbf732dfa175b0798bdf0c5ff"
},
"downloads": -1,
"filename": "scrapy_do-0.3.0-py3-none-any.whl",
"has_sig": true,
"md5_digest": "a1e65f5486dedbdcfdba62ce4319f2ae",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1138614,
"upload_time": "2018-02-27T14:03:27",
"url": "https://files.pythonhosted.org/packages/c5/01/ec88115bf83ba73300ea881d8b5c73198fd5b285d12a021309e11d730e17/scrapy_do-0.3.0-py3-none-any.whl"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "84e0963186065fae859b2468b50eb3d9",
"sha256": "7559f913422677234ad3e1b8a3ed92cd9903d6caec841b48c7e37842e4781b46"
},
"downloads": -1,
"filename": "scrapy_do-0.3.1-py3-none-any.whl",
"has_sig": true,
"md5_digest": "84e0963186065fae859b2468b50eb3d9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 796940,
"upload_time": "2019-04-13T18:02:04",
"url": "https://files.pythonhosted.org/packages/aa/d6/7e599857bb5881837521abb1fce6c002e0901d2b29648d4338ab723cacd7/scrapy_do-0.3.1-py3-none-any.whl"
}
],
"0.3.2": [
{
"comment_text": "",
"digests": {
"md5": "4f030e92fd36ae1af00ff800a78aa2a1",
"sha256": "04c8ca4ac75443ee26574e8f9e716ca613477a7cc9c5c375c1f9ed790ed5a79c"
},
"downloads": -1,
"filename": "scrapy_do-0.3.2-py3-none-any.whl",
"has_sig": true,
"md5_digest": "4f030e92fd36ae1af00ff800a78aa2a1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 797034,
"upload_time": "2019-04-13T18:26:28",
"url": "https://files.pythonhosted.org/packages/63/1c/d629fea4aac794d8695d31b9b9846e63b565037501618a075cb0a0a1436e/scrapy_do-0.3.2-py3-none-any.whl"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "4f030e92fd36ae1af00ff800a78aa2a1",
"sha256": "04c8ca4ac75443ee26574e8f9e716ca613477a7cc9c5c375c1f9ed790ed5a79c"
},
"downloads": -1,
"filename": "scrapy_do-0.3.2-py3-none-any.whl",
"has_sig": true,
"md5_digest": "4f030e92fd36ae1af00ff800a78aa2a1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 797034,
"upload_time": "2019-04-13T18:26:28",
"url": "https://files.pythonhosted.org/packages/63/1c/d629fea4aac794d8695d31b9b9846e63b565037501618a075cb0a0a1436e/scrapy_do-0.3.2-py3-none-any.whl"
}
]
}