{ "info": { "author": "jadbin", "author_email": "jadbin.com@hotmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "====\nxpaw\n====\n\n.. image:: https://travis-ci.org/jadbin/xpaw.svg?branch=master\n :target: https://travis-ci.org/jadbin/xpaw\n\n.. image:: https://coveralls.io/repos/jadbin/xpaw/badge.svg?branch=master\n :target: https://coveralls.io/github/jadbin/xpaw?branch=master\n\n.. image:: https://img.shields.io/badge/license-Apache 2-blue.svg\n :target: https://github.com/jadbin/xpaw/blob/master/LICENSE\n\nKey Features\n============\n\n- A web scraping framework used to crawl web pages\n- Data extraction tools used to extract structured data from web pages\n\nSpider Example\n==============\n\n\u4ee5\u4e0b\u662f\u6211\u4eec\u7684\u4e00\u4e2a\u722c\u866b\u7c7b\u793a\u4f8b\uff0c\u5176\u4f5c\u7528\u4e3a\u722c\u53d6 `\u767e\u5ea6\u65b0\u95fb `_ \u7684\u70ed\u70b9\u8981\u95fb:\n\n.. code-block:: python\n\n from xpaw import Spider, HttpRequest, Selector, run_spider\n\n\n class BaiduNewsSpider(Spider):\n def start_requests(self):\n yield HttpRequest(\"http://news.baidu.com/\", callback=self.parse)\n\n def parse(self, response):\n selector = Selector(response.text)\n hot = selector.css(\"div.hotnews a\").text\n self.log(\"Hot News:\")\n for i in range(len(hot)):\n self.log(\"%s: %s\", i + 1, hot[i])\n\n\n if __name__ == '__main__':\n run_spider(BaiduNewsSpider)\n\n\u5728\u722c\u866b\u7c7b\u4e2d\u6211\u4eec\u5b9a\u4e49\u4e86\u4e00\u4e9b\u65b9\u6cd5\uff1a\n\n- ``start_requests``: \u8fd4\u56de\u722c\u866b\u521d\u59cb\u8bf7\u6c42\u3002\n- ``parse``: \u5904\u7406\u8bf7\u6c42\u5f97\u5230\u7684\u9875\u9762\uff0c\u8fd9\u91cc\u501f\u52a9 ``Selector`` \u53caCSS Selector\u8bed\u6cd5\u63d0\u53d6\u5230\u4e86\u6211\u4eec\u6240\u9700\u7684\u6570\u636e\u3002\n\nDocumentation\n=============\n\nhttp://xpaw.readthedocs.io/\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jadbin/xpaw", "keywords": "", "license": "Apache 2", "maintainer": "", "maintainer_email": "", "name": "xpaw", "package_url": "https://pypi.org/project/xpaw/", "platform": "", "project_url": "https://pypi.org/project/xpaw/", "project_urls": { "Homepage": "https://github.com/jadbin/xpaw" }, "release_url": "https://pypi.org/project/xpaw/0.12.0/", "requires_dist": null, "requires_python": "", "summary": "Async web scraping framework", "version": "0.12.0" }, "last_serial": 5659080, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "feacc245d471b0f1f1b6238abb9e9378", "sha256": "0555cb77db4261befab3e65b5741c624e215098c72abbb54057e27e060b7e7e6" }, "downloads": -1, "filename": "xpaw-0.10.0.tar.gz", "has_sig": false, "md5_digest": "feacc245d471b0f1f1b6238abb9e9378", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 166963, "upload_time": "2018-07-15T15:47:39", "url": "https://files.pythonhosted.org/packages/95/f7/7e1addd8d8df147f7d68ad94cffd7001f9ef18a86a6fb39a0832ee17d206/xpaw-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "afafd01408a945092085debce01fd36a", "sha256": "121a829de315890c98c2eeed0ba398a43faf691b82aeba7dcd7c550a4aa44452" }, "downloads": -1, "filename": "xpaw-0.10.1.tar.gz", "has_sig": false, "md5_digest": "afafd01408a945092085debce01fd36a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 168740, "upload_time": "2018-07-18T04:05:47", "url": "https://files.pythonhosted.org/packages/bf/c9/e882d60fe1ec5c66177293619d98ef03f0c12bd59c8192fe7d0c5b769b15/xpaw-0.10.1.tar.gz" } ], "0.10.2": [ { "comment_text": "", "digests": { "md5": "945c1604ed1f93c570ee47190ecc4551", "sha256": "a7c83d253988590a8007f8226ffd033103d012f1e2a93e09a94b23bae86c7da2" }, "downloads": -1, "filename": "xpaw-0.10.2.tar.gz", "has_sig": false, "md5_digest": "945c1604ed1f93c570ee47190ecc4551", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172373, "upload_time": "2018-08-28T05:36:31", "url": "https://files.pythonhosted.org/packages/c9/ed/515771802cab28f71948ee8b2711e88f41954a7987f05a2cc1d74a224612/xpaw-0.10.2.tar.gz" } ], "0.10.3": [ { "comment_text": "", "digests": { "md5": "c08074d28b3d3f2afa60c959c5c882c6", "sha256": "fec4324c85f9d0ed56ca312476cb21c85a4ea02c01b4d514af30981bb64e8d24" }, "downloads": -1, "filename": "xpaw-0.10.3.tar.gz", "has_sig": false, "md5_digest": "c08074d28b3d3f2afa60c959c5c882c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172678, "upload_time": "2018-09-01T13:43:20", "url": "https://files.pythonhosted.org/packages/1b/a1/9a7014f73a0e65093ed18ff783500cfecc2fbbd3383e1b3ef51440bf96be/xpaw-0.10.3.tar.gz" } ], "0.10.4": [ { "comment_text": "", "digests": { "md5": "e771e96df404eff574ba117e3e1ca4ad", "sha256": "5517280fbf0282f4c1a9bda27f9a794de065e6c845cabce67ef1d1fc5d00f5b4" }, "downloads": -1, "filename": "xpaw-0.10.4.tar.gz", "has_sig": false, "md5_digest": "e771e96df404eff574ba117e3e1ca4ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 173269, "upload_time": "2018-11-06T09:06:11", "url": "https://files.pythonhosted.org/packages/b7/5d/41d445c090902d2c82559c07a19012b6d24c27f49b6ec8fa028a671e76c3/xpaw-0.10.4.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "6d822d5138176506fc1b48a354c2cdf3", "sha256": "88e459df614f2b47e78eef654e3550ea77eee90316449566e31195ad4bad1c79" }, "downloads": -1, "filename": "xpaw-0.11.0.tar.gz", "has_sig": false, "md5_digest": "6d822d5138176506fc1b48a354c2cdf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172154, "upload_time": "2019-07-11T15:52:21", "url": "https://files.pythonhosted.org/packages/95/0f/edb520045b8b9ecb79b55087d115b7669a17a8bfb1e540769fbfbec195bc/xpaw-0.11.0.tar.gz" } ], "0.11.0b0": [ { "comment_text": "", "digests": { "md5": "0a5f4adf4281e7b23fc09c13852e2303", "sha256": "2b0cfd7e7b7ff3ffe347255d771a9dfeaa36b39003523af4ae8621dd7806e1e9" }, "downloads": -1, "filename": "xpaw-0.11.0b0.tar.gz", "has_sig": false, "md5_digest": "0a5f4adf4281e7b23fc09c13852e2303", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172907, "upload_time": "2019-06-27T05:14:14", "url": "https://files.pythonhosted.org/packages/4b/8c/8afe7b7f67b89d2bac965e5c7f27328fa79170b73a9a2102892a0278c047/xpaw-0.11.0b0.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "d252eb47c41a9baec02b9a65ae80cb46", "sha256": "2e89e2420dce445129cccea36b9703a2d91db1ce85df043abdadab842d35bef1" }, "downloads": -1, "filename": "xpaw-0.11.1.tar.gz", "has_sig": false, "md5_digest": "d252eb47c41a9baec02b9a65ae80cb46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172320, "upload_time": "2019-07-29T08:45:04", "url": "https://files.pythonhosted.org/packages/5c/b5/f1fd15a3fcc0a7c68a88c65a336abecd86faa237d82359da82279175780f/xpaw-0.11.1.tar.gz" } ], "0.11.2": [ { "comment_text": "", "digests": { "md5": "eceea421951f92d6bf97b692b72bafc3", "sha256": "00d76f62c2ab219a674ad8bc9aa8d84b657b47fef4257a3ca7ed79d78a64a518" }, "downloads": -1, "filename": "xpaw-0.11.2.tar.gz", "has_sig": false, "md5_digest": "eceea421951f92d6bf97b692b72bafc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 173679, "upload_time": "2019-08-06T02:21:20", "url": "https://files.pythonhosted.org/packages/d6/15/8857542f46ff0f4b7353a94de02e676b26dc94463bd128f2835fd16fb1f7/xpaw-0.11.2.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "0c24078f44ac38ee632d6c74d0927acd", "sha256": "e2fb006259034f7ccc29e5c771b7c68ce796fc58426f546c4ea1d476f28ddbbf" }, "downloads": -1, "filename": "xpaw-0.12.0.tar.gz", "has_sig": false, "md5_digest": "0c24078f44ac38ee632d6c74d0927acd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172223, "upload_time": "2019-08-10T09:11:04", "url": "https://files.pythonhosted.org/packages/09/89/0bc209cafb6e68c97ce01c6eb27954abb024c3804c2b264cd445e6926e37/xpaw-0.12.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "1929619fb537e1fc404e300f8582cf1a", "sha256": "4b47517151a4b4bc65882406b9366ba14c6f6b7864218115ba69d07c0eb9872a" }, "downloads": -1, "filename": "xpaw-0.6.0.tar.gz", "has_sig": false, "md5_digest": "1929619fb537e1fc404e300f8582cf1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21071, "upload_time": "2017-03-16T09:56:06", "url": "https://files.pythonhosted.org/packages/3d/59/5c24a597727cf50d7284501bd503a165cbb1611d10b8597633c8b5d34185/xpaw-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "dbf3c65ba7a72330cd06ffae5ea5ca40", "sha256": "68b457b471fb02eb50f93df674bb2ac8aaa37a86e2b40be7a4846679dd7005e8" }, "downloads": -1, "filename": "xpaw-0.6.1.tar.gz", "has_sig": false, "md5_digest": "dbf3c65ba7a72330cd06ffae5ea5ca40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21595, "upload_time": "2017-03-23T02:02:09", "url": "https://files.pythonhosted.org/packages/8e/b5/b3448b3ebfc3b1fdd29a583358a537769906dc21a371ff8a38f5010f2801/xpaw-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "4f0ef7801f5e9e9a7dd15bd107e8bc4f", "sha256": "cf29f47526178f5208e1d7bfd04fd80c2010d9ab433be88bfe5f20c28e7e6eff" }, "downloads": -1, "filename": "xpaw-0.6.2.tar.gz", "has_sig": false, "md5_digest": "4f0ef7801f5e9e9a7dd15bd107e8bc4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23344, "upload_time": "2017-03-30T03:25:26", "url": "https://files.pythonhosted.org/packages/04/25/a8ca8fd317604d26f58c3b4d2f4ec6909c6f70192ea3497e778fc7123e7b/xpaw-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "592ba356b87cd2ef8f59e67ef29d14c6", "sha256": "e97308f0a36ce0321ac5f592734ca7afab7d572e4f801140bffcfcf40fc11a5f" }, "downloads": -1, "filename": "xpaw-0.6.3.tar.gz", "has_sig": false, "md5_digest": "592ba356b87cd2ef8f59e67ef29d14c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23380, "upload_time": "2017-05-01T03:04:21", "url": "https://files.pythonhosted.org/packages/c2/e3/c006b2c7fdca0c0b7d221b43dba8cd40c05a1d4252df05ac47bc1b9b839a/xpaw-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "c78a13713efdb161b2a157305cef26f4", "sha256": "1a64f520c021ca0f8844cfcbf0df151dd4f50281f26ade815c5f93fad202240c" }, "downloads": -1, "filename": "xpaw-0.6.4.tar.gz", "has_sig": false, "md5_digest": "c78a13713efdb161b2a157305cef26f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23369, "upload_time": "2017-05-05T11:16:20", "url": "https://files.pythonhosted.org/packages/f2/64/4de0bfd30173b4334aad2edf3dfa59681fdcfbbecafe217c3e031ab3daee/xpaw-0.6.4.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "0dd5047ab2620f6ff94827f94e8a36cd", "sha256": "3d961c7409eb4f690274ad2920be190abc3e4eac3a0caada57d8ce89c1461802" }, "downloads": -1, "filename": "xpaw-0.6.6.tar.gz", "has_sig": false, "md5_digest": "0dd5047ab2620f6ff94827f94e8a36cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23944, "upload_time": "2017-05-09T15:51:59", "url": "https://files.pythonhosted.org/packages/7f/96/4c4c311ddb7d5534cb98d58d6166ef26384ef2e9e8b9ab4792f496ab98cb/xpaw-0.6.6.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "5dc3b2ab68f26f0cf835cccb486a02b5", "sha256": "b43661f980eadc257f90c54c1b17994a1d14b5d779860368e753f262241250c4" }, "downloads": -1, "filename": "xpaw-0.7.0.tar.gz", "has_sig": false, "md5_digest": "5dc3b2ab68f26f0cf835cccb486a02b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24729, "upload_time": "2017-10-24T13:44:49", "url": "https://files.pythonhosted.org/packages/9a/8f/9c14c03829740f2801f9b9eaefc19ce81819a0558d447a17d415ec5f5e36/xpaw-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "2c00f0aef8d443bbc70647976f90fc52", "sha256": "fab8f6505e5ef1dfbbc093e037aaaf4b5735f7dd0d0e847d7ccf30b1e3ed5af3" }, "downloads": -1, "filename": "xpaw-0.7.1.tar.gz", "has_sig": false, "md5_digest": "2c00f0aef8d443bbc70647976f90fc52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24837, "upload_time": "2017-10-25T08:24:53", "url": "https://files.pythonhosted.org/packages/57/ea/2b8ded01b9f6affa5ab61a95007ccedb58c99b8e8c2aa30c0c70281c1048/xpaw-0.7.1.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "fe80dc281f17407599f942235ad7cd8d", "sha256": "c3920d8af7334aae7ce6cb48d2932515f687505c289590016a6a9ed9afce1b41" }, "downloads": -1, "filename": "xpaw-0.8.0.tar.gz", "has_sig": false, "md5_digest": "fe80dc281f17407599f942235ad7cd8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45154, "upload_time": "2017-11-05T15:23:09", "url": "https://files.pythonhosted.org/packages/7b/db/ae71bb17efaf0491b42f611771dc8e49459e6a14f63e1d682d3a4ada263f/xpaw-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "470323a34a5334dc2f5f2dc66f46b250", "sha256": "b0b7d87e3c22ed8e99cf8f53035ff556bd4e6d3b410658e97726202d53c920b5" }, "downloads": -1, "filename": "xpaw-0.9.0.tar.gz", "has_sig": false, "md5_digest": "470323a34a5334dc2f5f2dc66f46b250", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49025, "upload_time": "2017-11-13T02:58:47", "url": "https://files.pythonhosted.org/packages/f5/3c/7b652c16883aba6fd4c444b2290dd3581cbb470e344e915e4eddfc7863ea/xpaw-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "ce25b571cbc5440395358785c68587be", "sha256": "9737829d1cf7d0cfb38d082e0e4eefd075dcc9c16ca4e63912fdea4b8e079d33" }, "downloads": -1, "filename": "xpaw-0.9.1.tar.gz", "has_sig": false, "md5_digest": "ce25b571cbc5440395358785c68587be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50710, "upload_time": "2018-04-17T01:15:44", "url": "https://files.pythonhosted.org/packages/ed/49/17fd4468db2ea4134c62f20f995af709b3712ac5229fa19f6c8f2019e790/xpaw-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0c24078f44ac38ee632d6c74d0927acd", "sha256": "e2fb006259034f7ccc29e5c771b7c68ce796fc58426f546c4ea1d476f28ddbbf" }, "downloads": -1, "filename": "xpaw-0.12.0.tar.gz", "has_sig": false, "md5_digest": "0c24078f44ac38ee632d6c74d0927acd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172223, "upload_time": "2019-08-10T09:11:04", "url": "https://files.pythonhosted.org/packages/09/89/0bc209cafb6e68c97ce01c6eb27954abb024c3804c2b264cd445e6926e37/xpaw-0.12.0.tar.gz" } ] }