{ "info": { "author": "acrius", "author_email": "acrius@mail.ru", "bugtrack_url": null, "classifiers": [], "description": "#path_to_mordor\n\nPackage to organization scraping based on bs4.\n\nSimple example.\n\n\n \"\"\"\n The module contains the rules of scraping.\n \"\"\"\n from ptm import Frodo\n from ptm.path_actions import gpagins, gpages, gresults\n from ptm.result_actions import KeyRealtionships, gvalues, gtexts, gattrs\n from treasy import BookSearchDB\n from treasy.session import create_session\n from smithy.preparing import prepare\n\n RESORCE = 'http://www.labirint-bookstore.ru'\n START_PAGE = 'http://www.labirint-bookstore.ru/books'\n\n def result_proccessing(result_set):\n \"\"\"\n This function proccess the results.\n \"\"\"\n db = BookSearchDB(create_session())\n result = prepare(result_set, {'name': 'labirint-bookstore', 'url': 'http://www.labirint-bookstore.ru'})\n print(result)\n description = result['description'].split('||')\n if len(description) > 2:\n result['description'] = description[2].strip()\n db.update_book(result)\n\n KEY_RELATIONSHIPS = KeyRealtionships({\n 'ISBN:': 'isbn_numbers',\n '\u0418\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e:': 'publisher',\n '\u0410\u0432\u0442\u043e\u0440:': 'authors',\n '\u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a:': 'translators',\n '\u0418\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0442\u043e\u0440': 'illustrators',\n '\u0421\u0435\u0440\u0438\u044f:': 'series',\n '\u0416\u0430\u043d\u0440:': 'genres',\n '\u0413\u043e\u0434 \u0432\u044b\u043f\u0443\u0441\u043a\u0430:': 'year',\n '\u0422\u0438\u043f \u043e\u0431\u043b\u043e\u0436\u043a\u0438:': 'cover_format',\n '\u0421\u0442\u0440\u0430\u043d\u0438\u0446:': 'page_number',\n '\u041c\u0430\u0441\u0441\u0430:': 'weidth',\n '\u0420\u0430\u0437\u043c\u0435\u0440\u044b:': 'size',\n '\u0418\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0442\u043e\u0440:': 'illustrators'})\n\n RESULTS = {\n KEY_RELATIONSHIPS: gvalues(gtexts('div', attrs={'class': 'book-info-left'}),\n gtexts('div', attrs={'class': 'book-info-right'})),\n 'description': gtexts('div', attrs={'id': 'bigcard-description'}, separator=\"||\"),\n 'title': gattrs('img', attrs={'class': 'img-cover-book'}, target_attribute='alt')\n }\n\n PATH = {\n gpagins(pagin_template='?page=', start_page_number=1, finish_page_number=10): {\n gpages('div', attrs={'class': 'books-name'}):\n gresults(result_proccessing, result_map=RESULTS)\n }\n }\n\n def run(rucksack):\n \"\"\"\n Run travel. This function triggers scraping.\n \"\"\"\n frodo = Frodo(RESORCE, START_PAGE, PATH, rucksack)\n frodo.run()", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/acrius/path_to_mordor", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ptm", "package_url": "https://pypi.org/project/ptm/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ptm/", "project_urls": { "Homepage": "https://github.com/acrius/path_to_mordor" }, "release_url": "https://pypi.org/project/ptm/0.0.1a4/", "requires_dist": [ "beautifulsoup4" ], "requires_python": "", "summary": "", "version": "0.0.1a4" }, "last_serial": 2948757, "releases": { "0.0.1a2": [ { "comment_text": "", "digests": { "md5": "8f6ab3bccd95bf151e21ff64cde22e0d", "sha256": "c3111c53f71aed4044e560b5e51d064f60158393f3ad241e1dd54a0c4f600be1" }, "downloads": -1, "filename": "ptm-0.0.1a2-py3-none-any.whl", "has_sig": false, "md5_digest": "8f6ab3bccd95bf151e21ff64cde22e0d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20997, "upload_time": "2017-05-31T16:06:15", "url": "https://files.pythonhosted.org/packages/b4/b7/c6af48bcbbb491d40f426ab24bad69be9e63367efd2e741351ddf6b76e19/ptm-0.0.1a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78343b87db30397334b898a62d58fbe2", "sha256": "aada71ae713d40dde2ae55234a4f0ec824a409def88d0ed27ca07238473bf950" }, "downloads": -1, "filename": "ptm-0.0.1a2.tar.gz", "has_sig": false, "md5_digest": "78343b87db30397334b898a62d58fbe2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12253, "upload_time": "2017-05-31T16:06:18", "url": "https://files.pythonhosted.org/packages/27/de/5fa870fc0e8358692adb6744b381fef6d1450039c08e89b286c89376e256/ptm-0.0.1a2.tar.gz" } ], "0.0.1a3": [ { "comment_text": "", "digests": { "md5": "f7f71744511b66e1d5a5aa05efc53995", "sha256": "f753f47301dd8f2b06eb8d5570250c5c59d5190968c0046c9efde0afceb02c11" }, "downloads": -1, "filename": "ptm-0.0.1a3-py3-none-any.whl", "has_sig": false, "md5_digest": "f7f71744511b66e1d5a5aa05efc53995", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21388, "upload_time": "2017-06-10T18:57:19", "url": "https://files.pythonhosted.org/packages/01/ef/b45bd0eb4e553b6c356a0b7079e77a5a016876e134c7181068aab894446c/ptm-0.0.1a3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "299fa24b5f536e5da326ba426834275e", "sha256": "edddfdec1d62212abc452a0d9f95d06eadbc71b0791bf6076ed8927636846892" }, "downloads": -1, "filename": "ptm-0.0.1a3.tar.gz", "has_sig": false, "md5_digest": "299fa24b5f536e5da326ba426834275e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12553, "upload_time": "2017-06-10T18:57:22", "url": "https://files.pythonhosted.org/packages/2d/11/5372a508dce60d6e13226e85e2225125b785d1ae17625e18be3f4da78b7b/ptm-0.0.1a3.tar.gz" } ], "0.0.1a4": [ { "comment_text": "", "digests": { "md5": "f033e9e3077ef5c0aca25141a0da5729", "sha256": "830b2f5df5da65891afe00b04d4ee1b9a18c2104d696e96fab661d709b725ba7" }, "downloads": -1, "filename": "ptm-0.0.1a4-py3-none-any.whl", "has_sig": false, "md5_digest": "f033e9e3077ef5c0aca25141a0da5729", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21438, "upload_time": "2017-06-14T04:16:41", "url": "https://files.pythonhosted.org/packages/0b/67/94f3310ff758c9d0344b3f855813a99c80a21726453827bfdda0e9f96781/ptm-0.0.1a4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c57baf0f113eb275e939f058f976d9d1", "sha256": "8faeb4b4dab5fadb71c34f4b943567ce131572ea0dc333329fa1eb6889ef68df" }, "downloads": -1, "filename": "ptm-0.0.1a4.tar.gz", "has_sig": false, "md5_digest": "c57baf0f113eb275e939f058f976d9d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12603, "upload_time": "2017-06-14T04:16:43", "url": "https://files.pythonhosted.org/packages/76/ab/de343801648f0031d0ac389c9f6ab4f6e09d4d494879d7e26183c38c941d/ptm-0.0.1a4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f033e9e3077ef5c0aca25141a0da5729", "sha256": "830b2f5df5da65891afe00b04d4ee1b9a18c2104d696e96fab661d709b725ba7" }, "downloads": -1, "filename": "ptm-0.0.1a4-py3-none-any.whl", "has_sig": false, "md5_digest": "f033e9e3077ef5c0aca25141a0da5729", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21438, "upload_time": "2017-06-14T04:16:41", "url": "https://files.pythonhosted.org/packages/0b/67/94f3310ff758c9d0344b3f855813a99c80a21726453827bfdda0e9f96781/ptm-0.0.1a4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c57baf0f113eb275e939f058f976d9d1", "sha256": "8faeb4b4dab5fadb71c34f4b943567ce131572ea0dc333329fa1eb6889ef68df" }, "downloads": -1, "filename": "ptm-0.0.1a4.tar.gz", "has_sig": false, "md5_digest": "c57baf0f113eb275e939f058f976d9d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12603, "upload_time": "2017-06-14T04:16:43", "url": "https://files.pythonhosted.org/packages/76/ab/de343801648f0031d0ac389c9f6ab4f6e09d4d494879d7e26183c38c941d/ptm-0.0.1a4.tar.gz" } ] }