{ "info": { "author": "Pablo Ahumada, Jorge Capona", "author_email": "pablo.ahumadadiaz@gmail.com, jcapona@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Topic :: Software Development", "Topic :: System" ], "description": "Scraping Factory\n================\n\n|travis| |coverage| |pypi| |pyversion|\n\nScraping library to retrieve data from useful pages, such as Amazon wishlists\n\nAPI\n---\n\nThe API to use the library, scrape data and manage spiders is the following:\n\n- ``scrape(SPIDER_NAME, URL)``: scrapes the given ``URL`` using the spider referenced on ``SPIDER_NAME``.\n- ``spiders()``: list all spiders found by the library.\n\n\nCustom Spiders\n--------------\n\nUsing custom spiders is possible, as long as they:\n\n- They must be implemented as a class, and inherit from ``BaseSpider``.\n\n- The spider file need to be either on ``scraper_factory/spiders``, or in a custom location, as long as the environment variable ``$SPIDER_PATH`` is set to the directory where the spider is located.\n\nUsage example\n-------------\n\n.. code-block:: python\n\n >>> import scraper_factory as SF\n >>> SF.scrape('amazon-wishlist', 'https://www.amazon.com/hz/wishlist/ls/24XY9873RPAYN')\n [{\n \t'id': 'I1MZVK8RDPYK8P',\n \t'title': 'AmazonBasics Heavy Weight Ruled Lined Index Cards, White, 3x5 Inch Card, 100-Count - AMZ63500',\n \t'byline': None,\n \t'price': None,\n \t'link': 'https://www.amazon.com/dp/B06XSRLP51/',\n \t'img': 'https://images-na.ssl-images-amazon.com/images/I/71i7LVTzpsL._SS135_.jpg'\n }, {\n \t'id': 'I14TUJ6TADACU5',\n \t'title': \"Women's Walking Shoes Sock Sneakers - Mesh Slip On Air Cushion Lady Girls Modern Jazz Dance Easy Shoes Platform Loafers\",\n \t'byline': None,\n \t'price': None,\n \t'link': 'https://www.amazon.com/dp/B07MWCDJ9X/',\n \t'img': 'https://images-na.ssl-images-amazon.com/images/I/61sHA7o-bxL._SS135_.jpg'\n }, {\n \t'id': 'I3C97JA2JR06PN',\n \t'title': 'Tenergy Redigrill\\xa0Smoke-Less Infrared Grill, Indoor Grill, Heating\\xa0Electric Tabletop Grill, Non-Stick Easy to Clean\\xa0BBQ Grill, for Party/Home, ETL Certified',\n \t'byline': None,\n \t'price': '$179.99',\n \t'link': 'https://www.amazon.com/dp/B07BZ412HT/',\n \t'img': 'https://images-na.ssl-images-amazon.com/images/I/41uGvSPg-ML._SS135_.jpg'\n }, {\n \t'id': 'I1C7RJI2H0VWZ7',\n \t'title': 'Shelf Liners for Wire Shelf Liner Set of 4 - Graphite (14-Inch-by-36-Inch)',\n \t'byline': None,\n \t'price': '$29.99',\n \t'link': 'https://www.amazon.com/dp/B01N9V4A9A/',\n \t'img': 'https://images-na.ssl-images-amazon.com/images/I/71Lg6J7sGHL._SS135_.jpg'\n },\n ...]\n\nInstallation\n------------\n\nLatest release through PyPI:\n\n.. code-block:: sh\n\n $ pip install scraper_factory\n\nDevelopment version:\n\n.. code-block:: sh\n\n $ git clone git@github.com:machinia/scraper-factory.git\n $ cd scraper_factory\n $ pip install -e .\n\n\n.. |travis| image:: https://img.shields.io/travis/machinia/scraper-factory\n :target: https://travis-ci.org/machinia/scraper-factory\n :alt: Travis Build\n.. |coverage| image:: https://coveralls.io/repos/github/machinia/scraper-factory/badge.svg\n :target: https://coveralls.io/github/machinia/scraper-factory\n :alt: Test coverage\n.. |pypi| image:: https://badge.fury.io/py/scraper-factory.svg\n :target: https://badge.fury.io/py/scraper-factory\n :alt: PyPI - Latest version\n.. |pyversion| image:: https://img.shields.io/pypi/pyversions/scraper_factory\n :target: https://pypi.org/project/scraper-factory/\n :alt: PyPI - Python Version\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/machinia/scraper-factory", "keywords": "scraping wishlist amazon", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "scraper-factory", "package_url": "https://pypi.org/project/scraper-factory/", "platform": "", "project_url": "https://pypi.org/project/scraper-factory/", "project_urls": { "Homepage": "https://github.com/machinia/scraper-factory" }, "release_url": "https://pypi.org/project/scraper-factory/0.2.1/", "requires_dist": [ "asn1crypto (==0.24.0)", "attrs (==19.1.0)", "Automat (==0.7.0)", "cffi (==1.12.3)", "constantly (==15.1.0)", "cryptography (==2.7)", "cssselect (==1.0.3)", "hyperlink (==19.0.0)", "idna (==2.8)", "incremental (==17.5.0)", "lxml (==4.4.0)", "parsel (==1.5.1)", "pyasn1 (==0.4.5)", "pyasn1-modules (==0.2.5)", "pycparser (==2.19)", "PyDispatcher (==2.0.5)", "PyHamcrest (==1.9.0)", "pyOpenSSL (==19.0.0)", "queuelib (==1.5.0)", "Scrapy (==1.7.2)", "service-identity (==18.1.0)", "six (==1.12.0)", "Twisted (==19.2.1)", "w3lib (==1.20.0)", "zope.interface (==4.6.0)" ], "requires_python": "", "summary": "Scraping library to retrieve data from useful pages, such as Amazon wishlists", "version": "0.2.1" }, "last_serial": 5706763, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9ad43171b35cc1f3307d985221ff8299", "sha256": "e6883cdfb68c35a474900c00a9ba5fb4fb805fe38bfe76e25a290b78c611ab8d" }, "downloads": -1, "filename": "scraper_factory-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9ad43171b35cc1f3307d985221ff8299", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7566, "upload_time": "2019-08-14T22:01:47", "url": "https://files.pythonhosted.org/packages/d2/4b/04accc941d7546a3c298ce86c8227e584fc1a85532b6053f41d5dfc8e918/scraper_factory-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd3150c278bbd1b96e2ab62847fda071", "sha256": "0e2c32d7643d0e86fdc937787a733aa49779b03adfa5cafa41e32b6f5a2b67b3" }, "downloads": -1, "filename": "scraper-factory-0.1.0.tar.gz", "has_sig": false, "md5_digest": "fd3150c278bbd1b96e2ab62847fda071", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6469, "upload_time": "2019-08-14T22:01:49", "url": "https://files.pythonhosted.org/packages/f4/2d/c37e060e6bcdf42565f6dcb86160ae55720645ed2d9672bfcfc6185bd7a8/scraper-factory-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a7b0443aefd424d4839727dfc00a0634", "sha256": "c5a8312b4086fd4b58330f562e58101fdae032b51648b178a8e0df7cf0618109" }, "downloads": -1, "filename": "scraper_factory-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a7b0443aefd424d4839727dfc00a0634", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11287, "upload_time": "2019-08-21T02:59:24", "url": "https://files.pythonhosted.org/packages/7a/6b/acaca6ce0417f77e0925690a3de30ab301ed4e66176f33d6ff8f273472ec/scraper_factory-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9352d4d5b86c4a1d8edad65e41cb3605", "sha256": "f3d65a671edb1adcbd060cb6e9509f04526442bde4b7bb55ed6d52aecc60e747" }, "downloads": -1, "filename": "scraper-factory-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9352d4d5b86c4a1d8edad65e41cb3605", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9382, "upload_time": "2019-08-21T02:59:26", "url": "https://files.pythonhosted.org/packages/91/be/629e23193380fa00ba0d0d3c2028642f7d9ff26ef3a8ae7ef66ff30c98e3/scraper-factory-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "97b08676b43d6d403b962516a7116dac", "sha256": "2de92b5a97c6f9b96a2f02384570b857902d0f9a0edc060eeaf874886cc0cbb2" }, "downloads": -1, "filename": "scraper_factory-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "97b08676b43d6d403b962516a7116dac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12158, "upload_time": "2019-08-21T03:19:08", "url": "https://files.pythonhosted.org/packages/a5/3b/a65e99a1bf8bc5b64929a2b424ab0247b27953c57c60193f8eb43619cab4/scraper_factory-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9959031c96e250dbf0bb2e824128cae9", "sha256": "ad3096f13ce48d9ddfbe095e41b62cb5763da1122236812525e6b9d418912a8a" }, "downloads": -1, "filename": "scraper-factory-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9959031c96e250dbf0bb2e824128cae9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9412, "upload_time": "2019-08-21T03:19:10", "url": "https://files.pythonhosted.org/packages/9f/49/a0977138f4a762cb253b222b90fbaf36dc2270456e4cd31422b9c20c1a20/scraper-factory-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "97b08676b43d6d403b962516a7116dac", "sha256": "2de92b5a97c6f9b96a2f02384570b857902d0f9a0edc060eeaf874886cc0cbb2" }, "downloads": -1, "filename": "scraper_factory-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "97b08676b43d6d403b962516a7116dac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12158, "upload_time": "2019-08-21T03:19:08", "url": "https://files.pythonhosted.org/packages/a5/3b/a65e99a1bf8bc5b64929a2b424ab0247b27953c57c60193f8eb43619cab4/scraper_factory-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9959031c96e250dbf0bb2e824128cae9", "sha256": "ad3096f13ce48d9ddfbe095e41b62cb5763da1122236812525e6b9d418912a8a" }, "downloads": -1, "filename": "scraper-factory-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9959031c96e250dbf0bb2e824128cae9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9412, "upload_time": "2019-08-21T03:19:10", "url": "https://files.pythonhosted.org/packages/9f/49/a0977138f4a762cb253b222b90fbaf36dc2270456e4cd31422b9c20c1a20/scraper-factory-0.2.1.tar.gz" } ] }