{ "info": { "author": "Andrei Danciuc", "author_email": "ciur@asta-s.eu", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "====\nCiur\n====\n\n.. image:: ./docs/images/wooden-sieve-old-ancient-isolated-white-background.jpg\n :target: https://bitbucket.org/ada/python-ciur\n :alt: Ciur\n\n.. contents::\n\n..\n\n *Ciur is a scrapper layer in code development*\n\n *Ciur is a lib because it has less black magic than a framework*\n\nIt exports all scrapper related code into separate layer.\n\nIf you are annoyed by\n`Spaghetti code `_,\nsql inside php and inline css inside html\nTHEN you also are annoyed by xpath/css code inside crawler.\n\nCiur gives the taste of `Lasagna code `_\ngenerally by enforcing encapsulation for scrapping layer.\n\nFor more information visit the\n`documentation `_.\n\n\nNutshell\n========\n\nCiur uses own DSL, here is a small example of a ``example.org.ciur`` query:\n\n.. code-block:: yaml\n\n root `/html/body` +1\n name `.//h1/text()` +1\n paragraph `.//p/text()` +1\n\nThis command\n\n.. code-block :: bash\n\n $ ciur -p http://example.org -r https://bitbucket.org/ada/python-ciur/raw/HEAD/docs/docker/example.org.ciur\n\nWill produce a json\n\n.. code-block :: json\n\n {\n \"root\": {\n \"name\": \"Example Domain\",\n \"paragraph\": \"This domain is established to be used for illustrative\n examples in documents. You may use this\n domain in examples without prior coordination or\n asking for permission.\"\n }\n }\n\n\nInstallation\n============\n\nThe recommendable way to install is via\n`Python Virtual environment `_.\n\nInstall via docker\n\n.. code-block:: bash\n\n $ docker run -it python:3.7 bash\n root@e4d327153f2f:/# pip install ciur\n root@e4d327153f2f:/# ciur --help\n\n root@e4d327153f2f:/# ciur --help\n usage: ciur [-h] -p PARSE -r RULE [-w] [-v]\n\n *Ciur is a scrapper layer based on DSL for extracting data*\n\n *Ciur is a lib because it has less black magic than a framework*\n\n If you are annoyed by `Spaghetti code` than we can taste `Lasagna code`\n with help of Ciur\n\n https://bitbucket.org/ada/python-ciur\n\n optional arguments:\n -h, --help show this help message and exit\n -p PARSE, --parse PARSE\n url or local file path required document for html, xml, pdf. (f.e. http://example.org or /tmp/example.org.html)\n -r RULE, --rule RULE url or local file path file with parsing dsl rule (f.e. /tmp/example.org.ciur or http:/host/example.org.ciur)\n -w, --ignore_warn suppress python warning warnings and ciur warnings hints\n -v, --version show program's version number and exit\n\n\nCiur use MIT License\n====================\nThis means that code may be included in proprietary code without any additional restrictions.\n\nPlease see `LICENSE <./LICENSE>`_.\n\n\nContribution\n============\n\nThe code of **Cuir** have been concepted in 2012 and,\nis going to be in continue developing.\n\nAll contribution are welcome and should be done via Bitbucket (Pull Request, Issues).\n\nA second alternative as exception (maybe if bitbucket is not available)\ncan be done via email ciur[mail symbol].asta-s.eu\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/ada/python-ciur", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ciur", "package_url": "https://pypi.org/project/ciur/", "platform": "", "project_url": "https://pypi.org/project/ciur/", "project_urls": { "Homepage": "https://bitbucket.org/ada/python-ciur" }, "release_url": "https://pypi.org/project/ciur/0.1.8/", "requires_dist": [ "html5lib (==1.0.1)", "lxml (==4.2.5)", "cssselect (==0.9.1)", "pyparsing (==2.0.7)", "python-dateutil (==2.4.2)", "requests[security] (==2.9.1)", "pdfminer3k (==1.3.1)", "pdfminer (==20140328) ; extra == 'pdf'" ], "requires_python": "", "summary": "Ciur is a scrapper layer based on DSL for extracting data", "version": "0.1.8" }, "last_serial": 5259859, "releases": { "0.1.5": [ { "comment_text": "", "digests": { "md5": "47b101acaf28d7671e9e8d93f3c7452e", "sha256": "b412d1362bf91c1fa3dc9c434d0c2706b5f3576ae45c7ae43543dfd7ef64f4ad" }, "downloads": -1, "filename": "ciur-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "47b101acaf28d7671e9e8d93f3c7452e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25414, "upload_time": "2018-11-29T20:04:04", "url": "https://files.pythonhosted.org/packages/80/e4/7cd5f757c62a5d453efce00bf513ad2b5eb60bdbbd256417a137b8dded6c/ciur-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e95bf6073396d23f2230a13d0b2b7143", "sha256": "1277d10de0c59445a79f2049048fea4b235c51ccdd323add428632db624973b4" }, "downloads": -1, "filename": "ciur-0.1.5.tar.gz", "has_sig": false, "md5_digest": "e95bf6073396d23f2230a13d0b2b7143", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20377, "upload_time": "2018-11-29T20:04:07", "url": "https://files.pythonhosted.org/packages/ef/9e/3877295c6c5b870cfec54b34ee0d970f9ff37eb7a0927328647eed91fdfc/ciur-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "5033afda9ac7b95f818273c9074a5b93", "sha256": "8c1a9cced4dc3df87e20476e1bacf18ebb41d3499d3c3b1b4026d06cb5d1b499" }, "downloads": -1, "filename": "ciur-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "5033afda9ac7b95f818273c9074a5b93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25995, "upload_time": "2019-05-12T19:03:59", "url": "https://files.pythonhosted.org/packages/7c/1d/d90c93085dfea5a1f786548c892b554300d068937222816e86bc06134fe8/ciur-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eef8898464d66fbb4e7a97e2f0c406e7", "sha256": "a76fb780cf734881ea2ef209fc7240ad8eaa409a588de7ac9db790806a3c99da" }, "downloads": -1, "filename": "ciur-0.1.6.tar.gz", "has_sig": false, "md5_digest": "eef8898464d66fbb4e7a97e2f0c406e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21489, "upload_time": "2019-05-12T19:04:02", "url": "https://files.pythonhosted.org/packages/03/69/b771eed56707ffb3046bfd6d9d5439c70a605ebdab35c48f1b3f1e9d84de/ciur-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "34b8eb062ae5508d27e97a520221bfcb", "sha256": "8dc1aa82eaf3ddc658280f8b0d718efdc75d24ee8197d0740dd681e724f55388" }, "downloads": -1, "filename": "ciur-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "34b8eb062ae5508d27e97a520221bfcb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26142, "upload_time": "2019-05-12T19:56:14", "url": "https://files.pythonhosted.org/packages/b9/60/1b2fce2de2953280f55a0eb45c4dce1da951865996bfd3629af0c500ecfa/ciur-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed3632c29f6f75a5a266b57cb496d6bf", "sha256": "8b2e6b192f16f53bb33cd2782a120d1dcaad958f9ebbf42a9cc0472360ba8633" }, "downloads": -1, "filename": "ciur-0.1.7.tar.gz", "has_sig": false, "md5_digest": "ed3632c29f6f75a5a266b57cb496d6bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21615, "upload_time": "2019-05-12T19:56:16", "url": "https://files.pythonhosted.org/packages/d1/bb/eeed8b401b3c4150e05ac7d3fb7252995a945732889c5578452d3b7c0152/ciur-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "206cecbc9437123073cf04287f88c811", "sha256": "32f2fed728a9a1efa93399a89a391b72e310f56facaaa2c33e590b126cd2368d" }, "downloads": -1, "filename": "ciur-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "206cecbc9437123073cf04287f88c811", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26151, "upload_time": "2019-05-12T20:47:10", "url": "https://files.pythonhosted.org/packages/ab/66/8fa396d24ff3d7c597e511488469fc4ce739e19e8c0685f114b889716ee9/ciur-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dc79edb1f7b161f7f00b6e2f4904a39", "sha256": "d22c1b8b1494d9d6417d0d98d8275e39f76e4e1afb2c8c7b37f24b839733456c" }, "downloads": -1, "filename": "ciur-0.1.8.tar.gz", "has_sig": false, "md5_digest": "2dc79edb1f7b161f7f00b6e2f4904a39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21634, "upload_time": "2019-05-12T20:47:13", "url": "https://files.pythonhosted.org/packages/a3/b2/a931b9b38eae4f56025e4fdc7413cee1959b1fa2a997899bf26b8b025a18/ciur-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "206cecbc9437123073cf04287f88c811", "sha256": "32f2fed728a9a1efa93399a89a391b72e310f56facaaa2c33e590b126cd2368d" }, "downloads": -1, "filename": "ciur-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "206cecbc9437123073cf04287f88c811", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26151, "upload_time": "2019-05-12T20:47:10", "url": "https://files.pythonhosted.org/packages/ab/66/8fa396d24ff3d7c597e511488469fc4ce739e19e8c0685f114b889716ee9/ciur-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dc79edb1f7b161f7f00b6e2f4904a39", "sha256": "d22c1b8b1494d9d6417d0d98d8275e39f76e4e1afb2c8c7b37f24b839733456c" }, "downloads": -1, "filename": "ciur-0.1.8.tar.gz", "has_sig": false, "md5_digest": "2dc79edb1f7b161f7f00b6e2f4904a39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21634, "upload_time": "2019-05-12T20:47:13", "url": "https://files.pythonhosted.org/packages/a3/b2/a931b9b38eae4f56025e4fdc7413cee1959b1fa2a997899bf26b8b025a18/ciur-0.1.8.tar.gz" } ] }