{ "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" } ] }