{ "info": { "author": "Germey", "author_email": "cqc@cuiqingcai.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# DouYin\n\nAPI of DouYin App for humans.\n\n## Installation\n\n```\npip3 install douyin\n```\n\n## Usage\n\nHere is the sample code:\n\n```python\nimport douyin\nfrom douyin.structures import Topic, Music\n\n# define file handler and specify folder\nvideo_file_handler = douyin.handlers.VideoFileHandler(folder='./videos')\nmusic_file_handler = douyin.handlers.MusicFileHandler(folder='./musics')\n# define mongodb handler\nmongo_handler = douyin.handlers.MongoHandler()\n# define downloader\ndownloader = douyin.downloaders.VideoDownloader([mongo_handler, video_file_handler, music_file_handler])\n\nfor result in douyin.hot.trend():\n for item in result.data:\n # download videos of topic/music for 100 max per\n downloader.download(item.videos(max=100))\n```\n\nthen you can get:\n\n```\nItem >\nProcessing > ...\nProcessing > ...\n...\nProcessing > ...\nProcessing > ...\n0%| | 0/10 [00:00> ...\nSaving > to mongodb...\nProcessing > ...\nSaving > to mongodb...\nProcessing > ...\n....\nDownloading > ...\nSaved > to mongodb successfully\nDownloading > ...\nSaved > to mongodb successfully\nDownloading > ...\nDownloaded file to ./videos/6580510322468064526.mp4\n10%|\u2588\u2588\u2588\u2588\u258c | 1/10 [00:01<00:16, 1.84s/it]\nDownloaded file to ./videos/6516746291806997763.mp4\n20%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258f | 2/10 [00:01<00:10, 1.33s/it]\nDownloaded file to ./videos/6600742831352974596.mp4\n40%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 4/10 [00:02<00:05, 1.03it/s]\nDownloaded file to ./videos/6484393014599879950.mp4\n50%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:02<00:04, 1.15it/s]\nDownloaded file to ./videos/6616517521098935565.mp4\n60%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c | 6/10 [00:03<00:03, 1.27it/s]\nDownloaded file to ./videos/6479958542747962637.mp4\n70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258f | 7/10 [00:03<00:01, 1.68it/s]\nDownloaded file to ./videos/6472305134377372941.mp4\n80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 8/10 [00:03<00:00, 2.05it/s]\nDownloaded file to ./videos/6562690160868199693.mp4\n90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 9/10 [00:04<00:00, 2.27it/s]\nDownloaded file to ./videos/6500385230921141518.mp4\n100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:04<00:00, 2.33it/s]\n```\n\n![](https://ws2.sinaimg.cn/large/006tNbRwgy1fwmad1yh6wj30lf0p3aaf.jpg)\n\n![](https://ws3.sinaimg.cn/large/006tNbRwly1fwo1ystiraj30lg0e3gm0.jpg)\n\n![](https://ws3.sinaimg.cn/large/006tNbRwly1fwo20dbzduj30lg0e3q49.jpg)\n\n![](https://ws2.sinaimg.cn/large/006tNbRwly1fwo21zyfkyj30jm0m175e.jpg)\n\n## Examples\n\nSee [examples](./examples)\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/Germey/Douyin", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "douyin", "package_url": "https://pypi.org/project/douyin/", "platform": "", "project_url": "https://pypi.org/project/douyin/", "project_urls": { "Homepage": "https://github.com/Germey/Douyin" }, "release_url": "https://pypi.org/project/douyin/0.3.6/", "requires_dist": [ "aiohttp (>=3.4.4)", "dateparser", "motor (>=2.0.0)", "requests", "retrying", "tqdm" ], "requires_python": ">=3.4.0", "summary": "Api of douyin for humans", "version": "0.3.6" }, "last_serial": 4447061, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "f77c67c144378f1936fac4a2f343b589", "sha256": "df118866d770b03cae760867288b8b3067b32bc3866047c1b0d38eb6642ebd07" }, "downloads": -1, "filename": "douyin-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f77c67c144378f1936fac4a2f343b589", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 5075, "upload_time": "2018-10-24T07:17:20", "url": "https://files.pythonhosted.org/packages/7b/c6/7ad438d608aa4c84f1133cf4868f0a890a909aa4022ebc09c547da2d5f1b/douyin-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1000f9ad9976feffd11a846efc3451f1", "sha256": "28484d655ebc3acceda24509e87804f6e632b3c96b2b672cee22bd1847e39814" }, "downloads": -1, "filename": "douyin-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1000f9ad9976feffd11a846efc3451f1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 3959, "upload_time": "2018-10-24T07:17:22", "url": "https://files.pythonhosted.org/packages/4f/9c/ec41dc2de3c73fc105845c2b856fd9bc6b5c596b42749e4614ce94123c23/douyin-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "95906d8420c97582209e956ffd52c27e", "sha256": "c2d1e27a327cfd6ea465faa32bfa4bc1bcd9a544df120881d32cfb85626c417e" }, "downloads": -1, "filename": "douyin-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95906d8420c97582209e956ffd52c27e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 15067, "upload_time": "2018-10-24T16:53:31", "url": "https://files.pythonhosted.org/packages/ba/e1/3b0a608272f75a8ae39544f98eab8c49401c7c8207d649e8e335a757ca3a/douyin-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e8f2dbf625b5658405c4e1f0e5923e6", "sha256": "231afb27874ac0b07fdfe8ca0ebe3118f7fd8cc755d6dc968b63f1e7b229919c" }, "downloads": -1, "filename": "douyin-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3e8f2dbf625b5658405c4e1f0e5923e6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 7970, "upload_time": "2018-10-24T16:53:33", "url": "https://files.pythonhosted.org/packages/67/ea/73ca745039ca2762c09a7ef9b0370ac69f4bb6c5bdd129658a9e5f72d67e/douyin-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c76b43cbcd10cc475b78a9877a70df01", "sha256": "08e203421beb5ee765641b61819b9485dec4875ee041578a9a3ed6be27d0ec1f" }, "downloads": -1, "filename": "douyin-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c76b43cbcd10cc475b78a9877a70df01", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 17271, "upload_time": "2018-10-25T12:56:15", "url": "https://files.pythonhosted.org/packages/89/ab/14ab328225082f4994c035f5f08b351574259f9aa12a17e80aa0c26d59d9/douyin-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45add5ef65ff402c885730e8145ea2ac", "sha256": "a70fae2174a36512070a3bfb008d776e4f4e699a4794c2db021954772d8d5661" }, "downloads": -1, "filename": "douyin-0.2.0.tar.gz", "has_sig": false, "md5_digest": "45add5ef65ff402c885730e8145ea2ac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 9303, "upload_time": "2018-10-25T12:56:17", "url": "https://files.pythonhosted.org/packages/b2/3f/0e3fe2c22360f556f48f3fd961b30736a0e676e9b61e19fb1fdde6fe808c/douyin-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "a03eabad786ea4c03221b4c768497c02", "sha256": "cd7188869b7d4e6e8be3f7229b2f60363b5b56c6c74c93d3731851812cea0a19" }, "downloads": -1, "filename": "douyin-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a03eabad786ea4c03221b4c768497c02", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 22018, "upload_time": "2018-10-26T20:41:57", "url": "https://files.pythonhosted.org/packages/a2/41/ddff6d0e71c5115b418d74adc6b72d042e8f1c1a71b70532973fe2131454/douyin-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43d60a9f90bde100272054a42a9ee06c", "sha256": "2f30df9c667c02a483a46aa5c8a60f9a8c4f88b71ac728fd039ef91916152d82" }, "downloads": -1, "filename": "douyin-0.3.0.tar.gz", "has_sig": false, "md5_digest": "43d60a9f90bde100272054a42a9ee06c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11567, "upload_time": "2018-10-26T20:41:58", "url": "https://files.pythonhosted.org/packages/37/2e/2ac9360503661ea34c1e4949ee1e33ddc454c0141bcd6f58585754e66e25/douyin-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "9c2d892d2725e8ff6cd8609bf87d1e3e", "sha256": "0c710390153ec6c9d63643338b8a4b714773560b98509d9466b5ac4d79cf8925" }, "downloads": -1, "filename": "douyin-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c2d892d2725e8ff6cd8609bf87d1e3e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 22047, "upload_time": "2018-10-26T20:51:10", "url": "https://files.pythonhosted.org/packages/3f/72/89d7d9e6fd1882acd031089f25779e756526e46af9d959b60bf554359444/douyin-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4f4ba81ea04d3f71eaf8dd892289393", "sha256": "ee96c4ab78dee608c94b3305b5b42056707d780a9c0835f4b39351565e8dc6e7" }, "downloads": -1, "filename": "douyin-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e4f4ba81ea04d3f71eaf8dd892289393", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11594, "upload_time": "2018-10-26T20:51:11", "url": "https://files.pythonhosted.org/packages/01/92/df12f3b6a5505faf4efb5b15e7ecddf2994552f2ad65eb8025e3c3a7fa87/douyin-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "4537a56ed6a1065c5056e941f1b8e188", "sha256": "ca7fbef9d56d6ded48b76395652dedda0b7f7de2b2966f976f7d4b0d4e9d94bd" }, "downloads": -1, "filename": "douyin-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4537a56ed6a1065c5056e941f1b8e188", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 21987, "upload_time": "2018-10-26T21:00:33", "url": "https://files.pythonhosted.org/packages/92/01/a39e6ba3923d92ed8688ab308d1f7bfd73a6c04a2899177bef1938544ec1/douyin-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad1168a839c8c833e9fcaa4ed8400429", "sha256": "50b6b3f38defd2deff5147bd2a8e9d17e7f83420b71aa69ab4a0a7774ee713b3" }, "downloads": -1, "filename": "douyin-0.3.2.tar.gz", "has_sig": false, "md5_digest": "ad1168a839c8c833e9fcaa4ed8400429", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11595, "upload_time": "2018-10-26T21:00:35", "url": "https://files.pythonhosted.org/packages/b9/b2/85f7580a34983da4332c1af850b600d733f89704816a9f662355879efd67/douyin-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "c024862f3ae5cd292f69a1175141c069", "sha256": "fb3170d0f04a14e732b26701409e328bed559a7f94c5df5d9ed3525ef40c83e3" }, "downloads": -1, "filename": "douyin-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c024862f3ae5cd292f69a1175141c069", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 22153, "upload_time": "2018-10-26T21:12:23", "url": "https://files.pythonhosted.org/packages/22/d3/dd9cfb505d0848c5e340cabfcffe9353106e6e8e46f097030a86e45abda9/douyin-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7bda2a5d1c8ddefd02526f28f7f95f20", "sha256": "b82a6e041ecb01a50e52f44d8db407f81e2b92923091e1f02e7e009d4293efc4" }, "downloads": -1, "filename": "douyin-0.3.3.tar.gz", "has_sig": false, "md5_digest": "7bda2a5d1c8ddefd02526f28f7f95f20", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11631, "upload_time": "2018-10-26T21:12:25", "url": "https://files.pythonhosted.org/packages/90/ba/dfac81b27be36911e40d5d8dc4297b91a9eacaff952c59976bac1b57c068/douyin-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "4821d92a6432d0548db6b8df9f71015e", "sha256": "565f2f0f2172303584351729a4204fb6e663d6d8667b880b32472fa5fd042553" }, "downloads": -1, "filename": "douyin-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4821d92a6432d0548db6b8df9f71015e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 22928, "upload_time": "2018-10-28T08:49:57", "url": "https://files.pythonhosted.org/packages/0e/4c/cc83c2c83f4ad7cda8f1ffb6780c450dba9bf423b91676c7a8dc1f8a9ad2/douyin-0.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fac98f00bdd997b5f506979401c7ffd6", "sha256": "8c068dbbe3da8530024e8fe9d90a184e37f1accc4b8b4712d6f96acdd7bf92e5" }, "downloads": -1, "filename": "douyin-0.3.4.tar.gz", "has_sig": false, "md5_digest": "fac98f00bdd997b5f506979401c7ffd6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11828, "upload_time": "2018-10-28T08:49:59", "url": "https://files.pythonhosted.org/packages/e8/59/a677f7f3b67842cdc4ac705bbc8674935f63237b6db143e568a22b42abc4/douyin-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "71310e460a1c6788b43cce2202981204", "sha256": "d0e1fc5bb6fadb3891c42afd222698d1d6992c08980960237b3fa8b864f9075a" }, "downloads": -1, "filename": "douyin-0.3.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "71310e460a1c6788b43cce2202981204", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 22994, "upload_time": "2018-11-02T17:57:47", "url": "https://files.pythonhosted.org/packages/b8/35/6d36de8042364742f0e6536f32b747d56e09da0cca4c5655037a699df2f0/douyin-0.3.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa6263cadd2811b74737bac31bbe43ac", "sha256": "7b3e5ef4861368f5078452d593108d3d3b3ab5bf7dd821e0fd1b31274d4af1fc" }, "downloads": -1, "filename": "douyin-0.3.5.tar.gz", "has_sig": false, "md5_digest": "fa6263cadd2811b74737bac31bbe43ac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11885, "upload_time": "2018-11-02T17:57:49", "url": "https://files.pythonhosted.org/packages/75/c0/b640630da73ff646060299b870713b4e50c36dae43444e32374c517da813/douyin-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "d4015bb2c54d82d37844ee30bc97c3d6", "sha256": "4a8bc91faa4fdda07d605c83877c092a516055f68745072d64926361bded7a26" }, "downloads": -1, "filename": "douyin-0.3.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d4015bb2c54d82d37844ee30bc97c3d6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 23015, "upload_time": "2018-11-03T08:41:12", "url": "https://files.pythonhosted.org/packages/e3/8f/01d3423b6d931c3edd8a996234dd3af03ab1e67f0686837851dfeaa1a6e2/douyin-0.3.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "feeebcece11b5d078eff236c798a4380", "sha256": "23fbc67edaab7150057a499017b146352d392eb4e2fd414ecb3e55722d76e403" }, "downloads": -1, "filename": "douyin-0.3.6.tar.gz", "has_sig": false, "md5_digest": "feeebcece11b5d078eff236c798a4380", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11914, "upload_time": "2018-11-03T08:41:13", "url": "https://files.pythonhosted.org/packages/9a/a0/1c215383a807fa212f39279d29b7062315d4665d02b2a2088e88c62ea4e8/douyin-0.3.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d4015bb2c54d82d37844ee30bc97c3d6", "sha256": "4a8bc91faa4fdda07d605c83877c092a516055f68745072d64926361bded7a26" }, "downloads": -1, "filename": "douyin-0.3.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d4015bb2c54d82d37844ee30bc97c3d6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 23015, "upload_time": "2018-11-03T08:41:12", "url": "https://files.pythonhosted.org/packages/e3/8f/01d3423b6d931c3edd8a996234dd3af03ab1e67f0686837851dfeaa1a6e2/douyin-0.3.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "feeebcece11b5d078eff236c798a4380", "sha256": "23fbc67edaab7150057a499017b146352d392eb4e2fd414ecb3e55722d76e403" }, "downloads": -1, "filename": "douyin-0.3.6.tar.gz", "has_sig": false, "md5_digest": "feeebcece11b5d078eff236c798a4380", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 11914, "upload_time": "2018-11-03T08:41:13", "url": "https://files.pythonhosted.org/packages/9a/a0/1c215383a807fa212f39279d29b7062315d4665d02b2a2088e88c62ea4e8/douyin-0.3.6.tar.gz" } ] }