{ "info": { "author": "Windfarer", "author_email": "windfarer@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n# Biu\nA tiny web crawler framework\n\n## Features\n* \u8bf7\u4f7f\u7528 Python3.6 \u6216\u66f4\u9ad8\u7248\u672c\n* \u5e76\u53d1\u57fa\u4e8e Gevent\uff0c\u56e0\u6b64\u4f60\u5fc5\u987b\u5728\u811a\u672c\u4e00\u5f00\u59cb`import biu`\uff0c\u6216\u8005\u81ea\u884c monkey patch\n* \u8bf7\u6c42\u57fa\u4e8e Requests\uff0c\u8bf7\u6c42\u4e0e\u8bf7\u6c42\u7ed3\u679c\u7684\u53c2\u6570\u4e0e Requests \u57fa\u672c\u517c\u5bb9\n* \u9875\u9762\u89e3\u6790\u57fa\u4e8e Parsel, \u56e0\u6b64\u4f7f\u7528\u65b9\u6cd5\u4e0e Scrapy \u4e00\u81f4\n* \u57fa\u672c\u662f\u4e00\u4e2a\u7f29\u6c34\u7248\u7684 Scrapy\uff0c\u7528\u6cd5\u4e0e\u4e4b\u975e\u5e38\u7c7b\u4f3c\n* \u66f4\u591a\u9ad8\u7ea7\u529f\u80fd\u8bf7\u9762\u5411\u6e90\u4ee3\u7801\u7f16\u7a0b\uff0c\u81ea\u884c\u53d1\u6398\n\n## Installation\n```\npip install biu\n```\n\n## Example\n```python\nimport biu ## Must be the first line, because of monkey-included.\n\n\nclass MySpider(biu.Project):\n def start_requests(self):\n for i in range(0, 301, 30):\n # return \u6216\u8005 yield \u4e00\u4e2a biu.Request \u5c31\u4f1a\u53bb\u8bbf\u95ee\u4e00\u4e2a\u9875\u9762\uff0c\u53c2\u6570\u4e0e requests \u7684\u90a3\u4e2a\u57fa\u672c\u4e0a\u662f\u517c\u5bb9\u7684\n yield biu.Request(url=\"https://www.douban.com/group/explore/tech?start={}\".format(i),\n method=\"GET\",\n headers={\"User-Agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36\"},\n callback=self.parse)\n\n def parse(self, resp):\n ## biu.Response \u548c requests \u7684\u90a3\u4e2a\u5dee\u4e0d\u591a\uff0c\u52a0\u4e86\u51e0\u4e2a\u9009\u62e9\u5668\u4e0a\u53bb\n for item in resp.xpath('//*[@id=\"content\"]/div/div[1]/div[1]/div'):\n yield {\n \"title\": item.xpath(\"div[2]/h3/a/text()\").extract_first(),\n \"url\": item.xpath(\"div[2]/h3/a/@href\").extract_first(),\n \"abstract\": item.css(\"p::text\").extract_first()\n }\n # return \u6216\u8005 yield \u4e00\u4e2a dict, \u5c31\u4f1a\u5f53\u4f5c\u7ed3\u679c\u4f20\u5230result_handler\u91cc\u8fdb\u884c\u5904\u7406\n\n\n def result_handler(self, rv):\n print(\"get result:\", rv)\n # \u5728\u8fd9\u628a\u4f60\u7684\u7ed3\u679c\u5b58\u4e86\n\nbiu.run(MySpider(concurrent=3, interval=0.2, max_retry=5))\n\n```\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Windfarer/biu", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Biu", "package_url": "https://pypi.org/project/Biu/", "platform": "", "project_url": "https://pypi.org/project/Biu/", "project_urls": { "Homepage": "https://github.com/Windfarer/biu" }, "release_url": "https://pypi.org/project/Biu/0.2.3/", "requires_dist": [ "gevent", "requests", "parsel" ], "requires_python": ">=3.6.0", "summary": "A tiny web crawler framework.", "version": "0.2.3" }, "last_serial": 4287951, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "2fc5712c88b7966a7826e9b28faf01a2", "sha256": "809adc03fceac9546508160b012101d9aece3cca02eb5b8f2bdc5f2c476eb561" }, "downloads": -1, "filename": "Biu-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2fc5712c88b7966a7826e9b28faf01a2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3172, "upload_time": "2018-04-17T02:15:09", "url": "https://files.pythonhosted.org/packages/ef/7a/413457e3b0ff5751ee296ad9df71876c16f1f5614f435d9fb7fc08d78bcf/Biu-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a6200613c15fd05a4863eb31b04e922", "sha256": "0a3bfa4f78838e5d52f568d500f57dd5efb41ec530b5abeb8e82cd6c75c53636" }, "downloads": -1, "filename": "Biu-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1a6200613c15fd05a4863eb31b04e922", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3872, "upload_time": "2018-04-17T02:15:10", "url": "https://files.pythonhosted.org/packages/d3/19/d751911900632f7776867545332673696cc859bb96f48d7ac1f2f7ca3db1/Biu-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6527e43bdd23f43ca45ac391a9814f00", "sha256": "e1d03c606544b5ae6000b2f097acb12a84c504d4f8ce17c4b76e416d99dd54a9" }, "downloads": -1, "filename": "Biu-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6527e43bdd23f43ca45ac391a9814f00", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4213, "upload_time": "2018-04-17T03:12:47", "url": "https://files.pythonhosted.org/packages/28/2a/4ac05a22ff8b50b89632fcee1a4b60b9152fc9290cb96577b40ffe27997d/Biu-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1b916b7ffb60d16c6ec5bd063a25df1", "sha256": "7558e85f0bde237b2701d83ae852b62e9b45ebe6de377c9bcfe442750a7bf40b" }, "downloads": -1, "filename": "Biu-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e1b916b7ffb60d16c6ec5bd063a25df1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4996, "upload_time": "2018-04-17T03:12:49", "url": "https://files.pythonhosted.org/packages/56/2b/722c6b53080ce3f99d8d43a1cc037496f0e9d6e24d8666ac07267ce1e585/Biu-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7564e7aee3de1668ab5fb7d6fc7679cb", "sha256": "75c781183c8483cd4ba9a88f9f161fbae0e834952fee74e9e0d039fdb977d19d" }, "downloads": -1, "filename": "Biu-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7564e7aee3de1668ab5fb7d6fc7679cb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4208, "upload_time": "2018-06-06T02:07:58", "url": "https://files.pythonhosted.org/packages/c2/b9/2714ad913bce8d8fef123fd623c0cb35f2fa69c306fa54230f47f18a16b8/Biu-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0dcb0e766f89989aafefcf8f3ba0b9d", "sha256": "aa85aecb07157ff3d88e130ae52aa15a8176a73a80a16623b2c87c5c8bd3d9a3" }, "downloads": -1, "filename": "Biu-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a0dcb0e766f89989aafefcf8f3ba0b9d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4993, "upload_time": "2018-06-06T02:08:00", "url": "https://files.pythonhosted.org/packages/e1/a8/1e6a21c92d4e370345c7c446263cf29b690404be5aecfbe801534801fe4c/Biu-0.1.3.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "4da52fc4ad79c00d404d24cc0b292e0e", "sha256": "337719f3c50daa2bd2738c94374be66708a29a29303fb78e526061ee3cc26200" }, "downloads": -1, "filename": "Biu-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4da52fc4ad79c00d404d24cc0b292e0e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4303, "upload_time": "2018-07-11T06:53:23", "url": "https://files.pythonhosted.org/packages/6d/05/c3b70c51b98fd7e6095e429d491c0b74a1299c836f6949b1a85c2b7755c6/Biu-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b4c6591b60aa2081e54af895852175b4", "sha256": "e5ba160010f0a5b47642f034eefdf3eace54297cc2b6c6f768133459e1a30b20" }, "downloads": -1, "filename": "Biu-0.1.5.tar.gz", "has_sig": false, "md5_digest": "b4c6591b60aa2081e54af895852175b4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5078, "upload_time": "2018-07-11T06:53:24", "url": "https://files.pythonhosted.org/packages/83/ea/32e5005bfc086788287f7e02a2f363d4501c9f3bdb63c1a0003188749083/Biu-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "08860e06a4041c9031771fd1d4618260", "sha256": "ef1be392ee30a88e1464e920601f6192819d4d5f3223d21759d49073c112e7ab" }, "downloads": -1, "filename": "Biu-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "08860e06a4041c9031771fd1d4618260", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4424, "upload_time": "2018-07-19T07:18:38", "url": "https://files.pythonhosted.org/packages/66/9c/a65d467cca2c6f0e4f3db48698c836d67cb39398fd85dbd0f1088b00437f/Biu-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48333ca9c8ecbaa23c84a61b9a4b72a7", "sha256": "b80e86e20ffd7e05dc1695b70280384a4030c0bac21b87eaf1433eda9cc63e63" }, "downloads": -1, "filename": "Biu-0.1.6.tar.gz", "has_sig": false, "md5_digest": "48333ca9c8ecbaa23c84a61b9a4b72a7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5202, "upload_time": "2018-07-19T07:18:39", "url": "https://files.pythonhosted.org/packages/8f/63/0fe1f01f08df95dd25550c803e67b8d1ac2c1324b482ca4d19bbc2d9fcfe/Biu-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "53f2b7c27b6174448132c663cec331b1", "sha256": "3debd3f661afe847b1ac7ba451c156b48acbea00cd744b7523eb02b310bdfe66" }, "downloads": -1, "filename": "Biu-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "53f2b7c27b6174448132c663cec331b1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4473, "upload_time": "2018-08-08T03:45:29", "url": "https://files.pythonhosted.org/packages/51/00/5a172302d01db52ade6e2c84885214669a473be73ebdd4dee82b46278a5c/Biu-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f21f715ef316ebe3e77cba61b7cd56f", "sha256": "7619243427d025705139a9d24d66c1d5b023782ce8ee12fb152060157b669cdc" }, "downloads": -1, "filename": "Biu-0.1.7.tar.gz", "has_sig": false, "md5_digest": "9f21f715ef316ebe3e77cba61b7cd56f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5247, "upload_time": "2018-08-08T03:45:30", "url": "https://files.pythonhosted.org/packages/e8/80/8a112e84bac8475c5939aaae648cb8e25f26514dfea7e0efbd203ad5e83a/Biu-0.1.7.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "723294f5f18b0512340c05ffc90a2e23", "sha256": "73a4db3b39a46e6e6a1b3e61076aa239349887491acc761f6e88b56c6e4d85c1" }, "downloads": -1, "filename": "Biu-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "723294f5f18b0512340c05ffc90a2e23", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4503, "upload_time": "2018-09-10T01:29:35", "url": "https://files.pythonhosted.org/packages/11/79/4028d3f818a4a426e47fe812661169afb21116d2e7678d9cf023a465a535/Biu-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a05400b437096453bd571d8b3f40ee2", "sha256": "333653084c4668793673c307e61332fd5b82d6d43bcac730e6380a9b67ab46e0" }, "downloads": -1, "filename": "Biu-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6a05400b437096453bd571d8b3f40ee2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5265, "upload_time": "2018-09-10T01:29:37", "url": "https://files.pythonhosted.org/packages/8e/40/f07ffebe63e728cf1f16de1c776772f273429a8c176837f561690e770767/Biu-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "3f073114f3e4ea4317c8f439fd24f44e", "sha256": "d6bd904c1cecba640ec6d58e56a0f0575ad93290bc046100ccd2c97c2958d516" }, "downloads": -1, "filename": "Biu-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f073114f3e4ea4317c8f439fd24f44e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4505, "upload_time": "2018-09-10T02:29:11", "url": "https://files.pythonhosted.org/packages/17/a0/e1eae0105df4e9ff6c4355a0e294f1d67f4b58b4ee928efb9f4958736db4/Biu-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6c36ebcfdd1779e23936c81c404fae6", "sha256": "8d05f6b9c6392e9e8b5e0425219d8955c9c25cfb5074011d117063ecd67f1966" }, "downloads": -1, "filename": "Biu-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a6c36ebcfdd1779e23936c81c404fae6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5268, "upload_time": "2018-09-10T02:29:12", "url": "https://files.pythonhosted.org/packages/b7/fe/b0e19e2826c2465c6684df0285d51915183a201f8f499c6dc91c7c342ec0/Biu-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "3059289f762c43f4710241c62405da03", "sha256": "2e4030772c0872454181503bddf756056f6e86176a9bdb2f1454e543ae341529" }, "downloads": -1, "filename": "Biu-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3059289f762c43f4710241c62405da03", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4509, "upload_time": "2018-09-13T06:53:44", "url": "https://files.pythonhosted.org/packages/ca/59/5774337212ffce416892da3fa61a2d5eafaf47cd779f45b14803a2cd3d95/Biu-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83aa399ef8963cba74d45f432678c099", "sha256": "7571ac19ef6d2b1ecadf7102272366a31ee7d73ee7c3b586921fa098b72b170c" }, "downloads": -1, "filename": "Biu-0.2.2.tar.gz", "has_sig": false, "md5_digest": "83aa399ef8963cba74d45f432678c099", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5273, "upload_time": "2018-09-13T06:53:45", "url": "https://files.pythonhosted.org/packages/85/ed/ad52422094b486c784449798b1cb89c7265220ace0adc3924b8a7d2fd1af/Biu-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ce4d11ce4b3f25a2b15e351b69da92a6", "sha256": "0d80134521b7208b54c9fc9905097ac0f232e137c1ef7e81674d4684fc9819ac" }, "downloads": -1, "filename": "Biu-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ce4d11ce4b3f25a2b15e351b69da92a6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4473, "upload_time": "2018-09-19T10:29:15", "url": "https://files.pythonhosted.org/packages/3a/6e/3dbe8fb94cd12e4ab6e32d9c7c859972e883a05a984fa48ee385f91ce326/Biu-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "873588b80b58513f64d6f3a4410d2c8f", "sha256": "786ef0110dae28e4f567aaddc86cfa499c6bb222a5a3c08d9f71fc6ee0aeffe8" }, "downloads": -1, "filename": "Biu-0.2.3.tar.gz", "has_sig": false, "md5_digest": "873588b80b58513f64d6f3a4410d2c8f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5247, "upload_time": "2018-09-19T10:29:17", "url": "https://files.pythonhosted.org/packages/8c/3a/4d85d17e210b4ab8192bad2105378d99026be417f459f33f8ab16bfafa9d/Biu-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ce4d11ce4b3f25a2b15e351b69da92a6", "sha256": "0d80134521b7208b54c9fc9905097ac0f232e137c1ef7e81674d4684fc9819ac" }, "downloads": -1, "filename": "Biu-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ce4d11ce4b3f25a2b15e351b69da92a6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 4473, "upload_time": "2018-09-19T10:29:15", "url": "https://files.pythonhosted.org/packages/3a/6e/3dbe8fb94cd12e4ab6e32d9c7c859972e883a05a984fa48ee385f91ce326/Biu-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "873588b80b58513f64d6f3a4410d2c8f", "sha256": "786ef0110dae28e4f567aaddc86cfa499c6bb222a5a3c08d9f71fc6ee0aeffe8" }, "downloads": -1, "filename": "Biu-0.2.3.tar.gz", "has_sig": false, "md5_digest": "873588b80b58513f64d6f3a4410d2c8f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5247, "upload_time": "2018-09-19T10:29:17", "url": "https://files.pythonhosted.org/packages/8c/3a/4d85d17e210b4ab8192bad2105378d99026be417f459f33f8ab16bfafa9d/Biu-0.2.3.tar.gz" } ] }