{ "info": { "author": "Nasy", "author_email": "nasyxx+nacf@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Utilities" ], "description": "# Table of Contents\n\n- [Prologue](#org5a5b482)\n- [Packages](#org5162ade)\n- [Usage](#org8f95840)\n- [Development Process](#org500bff6)\n - [Http Functions](#orgea60df6)\n - [Get](#orgc53178d)\n - [Post](#org4816e1a)\n - [Bugs](#orgf07ea04)\n - [Fix an error from inspect.Parameter which caused the function parallel down.](#org8cb169d):err:1:\n - [Docs](#org471c09e)\n - [Usage](#orgdd40ced)\n- [Epoligue](#org7d09938)\n - [History](#org9b25ed6)\n - [Version 1.0.2](#orgd045e62)\n - [Version 1.0.1](#orgf937241)\n - [Version 1.0.0](#org73249ca)\n - [Version 0.1.2](#org872c4cb)\n - [Version 0.1.1](#orga13def9)\n - [Version 0.1.0](#org94f75db)\n\n\n\n\n\n# Prologue\n\nNever had such a pure crawler like this `nacf`.\n\nAlthough I often write crawlers, I don’t like to use huge frameworks, such as scrapy, but prefer\nsimple `requests+bs4` or more general `requests_html`. However, these two are inconvenient for a\ncrawler. E.g. Places, such as error retrying or parallel crawling, need to be handwritten by\nmyself. It is not very difficult to write it while writing too much can be tedious. Hence I\nstarted writing this nacf (Nasy Crawler Framework), hoping to simplify some error retrying or\nparallel writing of crawlers.\n\n\n\n\n# Packages\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Table 1: Packages
PackageVersionDescription
requests-html0.10.0HTML Parsing for Humans.
nalude0.3.0A standard module. Inspired by Haskell’s Prelude.
\n\n\n\n\n# Usage\n\nsee [tests](https://github.com/nasyxx/nacf/blob/master/tests/test_nacf.py).\n\n\n\n\n# Development Process\n\n\n\n\n## DONE Http Functions\n\n

CLOSED: <Thu Feb 28 20:51:00 2019>

\n\n\n\n\n### DONE Get\n\n

CLOSED: <Tue Dec 25 17:36:00 2018>

\n\n\n\n\n### DONE Post\n\n

CLOSED: <Thu Feb 28 20:44:00 2019>

\n\n\n\n\n### DONE Bugs\n\n

CLOSED: <Thu Feb 28 20:51:00 2019>

\n\n\n\n\n#### DONE Fix an error from inspect.Parameter which caused the function parallel down. :err:1:\n\n

CLOSED: <Wed Dec 26 20:26:00 2018>

\n\n\n\n\n## NEXT Docs\n\n\n\n\n### NEXT Usage\n\n\n\n\n# Epoligue\n\n\n\n\n## History\n\n\n\n\n### Version 1.0.2\n\n- **Data:** <Sun Mar 10, 2019>\n- **Changes:** Update nalude.\n\n\n\n\n### Version 1.0.1\n\n- **Data:** <Sun Mar 10, 2019>\n- **Changes:** Update requests-html.\n\n\n\n\n### Version 1.0.0\n\n- **Data:** <Thu Feb 28, 2019>\n- **Changes:** Now, old HTTP methods (`get` and `post`) cannot accept multiple URLs. Instead, we can use `gets` and `posts`.\n- **Adds:** - `nacf.html`\n - `nacf.json`\n - `nacf.gets`\n - `nacf.posts`\n- **Includes:** - `nalude`\n\n\n\n\n### Version 0.1.2\n\n- **Data:** <Wed Dec 26, 2018>\n- **Fixed:** `inspect.Parameter` error in last version.\n\n\n\n\n### Version 0.1.1\n\n- **Data:** <Wed Dec 26, 2018>\n- **Ignored:** An error caused by `inspect.Parameter`\n- **Help Wanted:** Can someone help me about the Parameter?\n\n\n\n\n### Version 0.1.0\n\n- **Date:** <Sun Dec 23, 2018>\n- **Commemorate Version:** First Version\n - Basic Functions.\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nasyxx/nacf", "keywords": "crawler", "license": "LGPL-3.0+", "maintainer": "Nasy", "maintainer_email": "nasyxx+nacf@gmail.com", "name": "nacf", "package_url": "https://pypi.org/project/nacf/", "platform": "", "project_url": "https://pypi.org/project/nacf/", "project_urls": { "Homepage": "https://github.com/nasyxx/nacf", "Repository": "https://github.com/nasyxx/nacf" }, "release_url": "https://pypi.org/project/nacf/1.0.3/", "requires_dist": [ "nalude (>=0.3)", "requests_html (<1.0.0)" ], "requires_python": ">=3.6,<4.0", "summary": "Nasy Crawler Framework -- Never had such a pure crawler.", "version": "1.0.3" }, "last_serial": 5245369, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "62f7e7df48c7687991951174766ffdd5", "sha256": "58b21c3a058d1bb1c260eef5bed784020e4e088d2654f2ec6ac7e26083eb044e" }, "downloads": -1, "filename": "nacf-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "62f7e7df48c7687991951174766ffdd5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 35562, "upload_time": "2018-12-25T09:50:09", "url": "https://files.pythonhosted.org/packages/71/f0/ef19035cc3c5699f43bfac6baa443be3a7b05fa6ab4745acb748dd189d1f/nacf-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ef17e0c72c181a319014d16ef21bb7b", "sha256": "783cc43d0bcbaf23d5ceead8cfd5192ccc56de3dacb5456628643e8bfb5c7e7c" }, "downloads": -1, "filename": "nacf-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0ef17e0c72c181a319014d16ef21bb7b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 12964, "upload_time": "2018-12-25T09:50:11", "url": "https://files.pythonhosted.org/packages/2e/3a/badb8e735cfe4d7d7b2897b2cf4b79528165199ac46ad2fd65eff6e4bb24/nacf-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "17a5044978b0788f6859c163c496385a", "sha256": "9b1216b0986358212588e6ead8ba35751ef5762f0a71fb06cdad6fb06cef1aca" }, "downloads": -1, "filename": "nacf-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "17a5044978b0788f6859c163c496385a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 36067, "upload_time": "2018-12-26T12:12:05", "url": "https://files.pythonhosted.org/packages/e9/0a/c7c3ac57a4fd8b9b78fe68abd85fbe6ee347b32122cd3731ff8d750c2080/nacf-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdc1cbb88ec5706898fb996a5b28e9f1", "sha256": "1a355a2db5bcc5a7b00d4ee81191e62073035fdb05e6d7139df007bf9dae5a53" }, "downloads": -1, "filename": "nacf-0.1.1.tar.gz", "has_sig": false, "md5_digest": "fdc1cbb88ec5706898fb996a5b28e9f1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 13439, "upload_time": "2018-12-26T12:12:06", "url": "https://files.pythonhosted.org/packages/1b/c9/dc833b07b735f3df100251007ddd1a2131cad147c3ecc88595102616fd2a/nacf-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "c45ead1ed466308583c2ace435853d0f", "sha256": "4ffb1a60ca02187902afaca5013f89e4e826b66afac7339112fa02f53c006b5b" }, "downloads": -1, "filename": "nacf-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c45ead1ed466308583c2ace435853d0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 36047, "upload_time": "2018-12-26T12:27:52", "url": "https://files.pythonhosted.org/packages/54/71/e98a3e6e1d8920e41eb6e30301f735f78d59181c657c5b937748029e2b36/nacf-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f032de855051c41f1523a71f63eec216", "sha256": "7d4cea95a4c50a63c171eaca0e3ee2f1e20e44459d959f10a1659c279f1d98ef" }, "downloads": -1, "filename": "nacf-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f032de855051c41f1523a71f63eec216", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 13523, "upload_time": "2018-12-26T12:27:54", "url": "https://files.pythonhosted.org/packages/a9/cd/2482025a17b8b9b1fc82c2822c6908c2f00935b8def13ffdf00b3334e190/nacf-0.1.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "e7be9924808406027358419df70a22aa", "sha256": "3616e22d79b2e80f2a4d7f1ef0b64da2a080b90115a1cd2f21ef83a59c3989a7" }, "downloads": -1, "filename": "nacf-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e7be9924808406027358419df70a22aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 41150, "upload_time": "2019-02-28T12:52:39", "url": "https://files.pythonhosted.org/packages/18/26/8f8857ad2a153a7349b94be4403cc4ca3600c2c650aa20befa6f56ae5289/nacf-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32bbe1809a4459c6a63f473d1b0d6ebf", "sha256": "9e505949fabe36d3bb1d2267a03a5e459c6104497893249a0494580495562523" }, "downloads": -1, "filename": "nacf-1.0.0.tar.gz", "has_sig": false, "md5_digest": "32bbe1809a4459c6a63f473d1b0d6ebf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 14848, "upload_time": "2019-02-28T12:52:41", "url": "https://files.pythonhosted.org/packages/b6/4d/043e7b7b8b5c52cf0f3866aa8fa8c0db3bcb5c005eb5c5b1f6b4e33b22b3/nacf-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "89e91e40b2019f014dabbe0bc85abc54", "sha256": "80d3ac11e8d2ccd9b2d49dbbc69079827a3d9e105019fa27e9761089f61c3c84" }, "downloads": -1, "filename": "nacf-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "89e91e40b2019f014dabbe0bc85abc54", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 41174, "upload_time": "2019-03-10T04:21:45", "url": "https://files.pythonhosted.org/packages/88/25/49073424017305a224a7f441840ba362cbbce8a3c33ffb2eb40b5f70cbc7/nacf-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dbb4798d88e1c7c6eebdc6261b71b349", "sha256": "e15414cd51fe57b456753b7e6b197772a850ee7104fe97a5946776360b4aa0bf" }, "downloads": -1, "filename": "nacf-1.0.1.tar.gz", "has_sig": false, "md5_digest": "dbb4798d88e1c7c6eebdc6261b71b349", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 14842, "upload_time": "2019-03-10T04:22:33", "url": "https://files.pythonhosted.org/packages/b7/bf/f0483a1176e8d9b3ea2c9def603b326707c4627e66e9edd24c884e441b5b/nacf-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "e0124f7ef0c9e88406f959281d62da05", "sha256": "83433885146ae48552dcf401bfc40d5b06b32e8e09582208c59ff14f55484f1e" }, "downloads": -1, "filename": "nacf-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e0124f7ef0c9e88406f959281d62da05", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 41400, "upload_time": "2019-03-10T08:25:28", "url": "https://files.pythonhosted.org/packages/52/f0/05e8e442ab0aa2bf95654034e8224ce551b17b39f2fe718e4837039eaa0a/nacf-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b508f5ba320debe498fd956d9f5f3ab", "sha256": "dae65f45a47d32dabd2f9ab8166b181e04ba9f8814f9ad5203427b1a96fa7325" }, "downloads": -1, "filename": "nacf-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1b508f5ba320debe498fd956d9f5f3ab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 14996, "upload_time": "2019-03-10T08:25:30", "url": "https://files.pythonhosted.org/packages/3f/20/669a235662e091fe28c05459597fa0632d07b2ef0f8b033144aeb363bf5f/nacf-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "a18820e408b1f2278169931fe78073f3", "sha256": "b6f54ecf39f80381885d9ea1b75d40bd85d0a347d95c1ae2cabbddbc0ba075c3" }, "downloads": -1, "filename": "nacf-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a18820e408b1f2278169931fe78073f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20798, "upload_time": "2019-05-09T02:13:27", "url": "https://files.pythonhosted.org/packages/42/e6/9e3131f0f66272f9e734471c8820e49c9313be250e12cb145040d8f360f6/nacf-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d833d1b96815be57d5299feb99ad1bda", "sha256": "845ca6adb3a8d977b4f3f2e14e7a83d6fce1178188bb8b10b50e0140692c0d47" }, "downloads": -1, "filename": "nacf-1.0.3.tar.gz", "has_sig": false, "md5_digest": "d833d1b96815be57d5299feb99ad1bda", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 17886, "upload_time": "2019-05-09T02:13:29", "url": "https://files.pythonhosted.org/packages/b4/47/9b65af0294d957bd0966fec0146e53397eb0df7059103ef4508dc1633f88/nacf-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a18820e408b1f2278169931fe78073f3", "sha256": "b6f54ecf39f80381885d9ea1b75d40bd85d0a347d95c1ae2cabbddbc0ba075c3" }, "downloads": -1, "filename": "nacf-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a18820e408b1f2278169931fe78073f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20798, "upload_time": "2019-05-09T02:13:27", "url": "https://files.pythonhosted.org/packages/42/e6/9e3131f0f66272f9e734471c8820e49c9313be250e12cb145040d8f360f6/nacf-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d833d1b96815be57d5299feb99ad1bda", "sha256": "845ca6adb3a8d977b4f3f2e14e7a83d6fce1178188bb8b10b50e0140692c0d47" }, "downloads": -1, "filename": "nacf-1.0.3.tar.gz", "has_sig": false, "md5_digest": "d833d1b96815be57d5299feb99ad1bda", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 17886, "upload_time": "2019-05-09T02:13:29", "url": "https://files.pythonhosted.org/packages/b4/47/9b65af0294d957bd0966fec0146e53397eb0df7059103ef4508dc1633f88/nacf-1.0.3.tar.gz" } ] }