{ "info": { "author": "jun50", "author_email": "0001jun50@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# yt-search\n\n## English\n\n## Install\n\n**Python 3.6.x or higher is required.**\n\nInstall command:\n\n```cmd\n# Linux/OS X\n$ python -m pip install -U yt-search\n\n# Windows\n> py -3 -m pip install -U yt-search\n```\n\n## Example\n\nSearch video\n\n```python\nimport yt_search\n\nyt = yt_search.build(\"API Key\")\nsearch_result = yt.search(\"keyword\", sMax=10, sType=[\"video\"])\nprint(search_result.title)\nprint(search_result.videoId)\nprint(search_result.channelTitle)\n```\n\nSearch YouTube channel\n\n```python\nimport yt_search\n\nyt = yt_search.build(\"API Key\")\nsearch_result = yt.search(\"keyword\", sMax=10, sType=[\"channel\"])\nprint(search_result.channelTitle)\nprint(search_result.channelId)\n```\n\nSearch playlist\n\n```python\nimport yt_search\n\nyt = yt_search.build(\"API Key\")\nsearch_result = yt.search(\"keyword\", sMax=10, sType=[\"playlist\"])\nprint(search_result.title)\nprint(search_result.playlistId)\nprint(search_result.channelTitle)\n```\n\nsType can be select multiple by list\n\n```python\nimport yt_search\n\nyt = yt_search.build(\"API Key\")\nsearch_result = yt.search(\"keyword\", sMax=10, sType=[\"video\", \"playlist\"])\nprint(search_result.title)\nprint(search_result.videoId)\nprint(search_result.playlistId)\nprint(search_result.channelTitle)\n```\n\nDownload search results with wav\n\nNeed youtube-dl and ffmpeg.\n\n```python\nimport yt_search\nimport youtube_dl\n\nyt = yt_search.build(\"API Key\")\nsearch_result = yt.search(\"keyword\", sMax=10, sType=[\"video\"])\n\noptions = {\n 'format': 'bestaudio/bestaudio',\n 'outtmpl': '%(title)s.%(ext)s',\n 'postprocessors': [\n {\n 'key': 'FFmpegExtractAudio',\n 'preferredcodec': 'wav'\n },\n {\n 'key': 'FFmpegMetadata'\n }\n ]\n}\nwith youtube_dl.YoutubeDL(options) as ydl:\n ydl.download([\"https://www.youtube.com/watch?v=\" + i\n for i in search_result.videoId])\n```\n\nIn the case of youtube#video, playlistId returns None.\nIn the case of youtube#playlist, videoId returns None.\nIn the case of youtube#channel, playlistId and videoId returns None.\n\n## \u65e5\u672c\u8a9e\n\n## \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n\n**Python3.6.x\u4ee5\u4e0a\u304c\u5fc5\u8981\u3067\u3059\u3002**\n\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30b3\u30de\u30f3\u30c9\uff1a\n\n```cmd\n# Linux/OS X\n$ python -m pip install -U yt-search\n\n# Windows\n> py -3 -m pip install -U yt-search\n```\n\n## \u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4f8b\n\n\u52d5\u753b\u3092\u691c\u7d22\n\n```python\nimport yt_search\n\nyt = yt_search.build(\"API\u30ad\u30fc\")\nsearch_result = yt.search(\"\u30ad\u30fc\u30ef\u30fc\u30c9\", sMax=10, sType=[\"video\"])\nprint(search_result.title)\nprint(search_result.videoId)\nprint(search_result.channelTitle)\n```\n\nYouTube\u30c1\u30e3\u30f3\u30cd\u30eb\u3092\u691c\u7d22\n\n```python\nimport yt_search\n\nyt = yt_search.build(\"API\u30ad\u30fc\")\nsearch_result = yt.search(\"\u30ad\u30fc\u30ef\u30fc\u30c9\", sMax=10, sType=[\"channel\"])\nprint(search_result.channelTitle)\nprint(search_result.channelId)\n```\n\n\u30d7\u30ec\u30a4\u30ea\u30b9\u30c8\u3092\u691c\u7d22\n\n```python\nimport yt_search\n\nyt = yt_search.build(\"API\u30ad\u30fc\")\nsearch_result = yt.search(\"\u30ad\u30fc\u30ef\u30fc\u30c9\", sMax=10, sType=[\"playlist\"])\nprint(search_result.title)\nprint(search_result.playlistId)\nprint(search_result.channelTitle)\n```\n\nsType\u306f\u30ea\u30b9\u30c8\u3067\u8907\u6570\u9078\u629e\u53ef\u80fd\u3067\u3059\u3002\u4f8b\uff1a\n\n```python\nimport yt_search\n\nyt = yt_search.build(\"API\u30ad\u30fc\")\nsearch_result = yt.search(\"\u30ad\u30fc\u30ef\u30fc\u30c9\", sMax=10, sType=[\"video\", \"playlist\"])\nprint(search_result.title)\nprint(search_result.videoId)\nprint(search_result.playlistId)\nprint(search_result.channelTitle)\n```\n\n\u691c\u7d22\u7d50\u679c\u3092wav\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\n\nyoutube-dl\u3068ffmpeg\u304c\u5fc5\u8981\u3067\u3059\u3002\n\n```python\nimport yt_search\nimport youtube_dl\n\nyt = yt_search.build(\"API\u30ad\u30fc\")\nsearch_result = yt.search(\"\u30ad\u30fc\u30ef\u30fc\u30c9\", sMax=10, sType=[\"video\"])\n\noptions = {\n 'format': 'bestaudio/bestaudio',\n 'outtmpl': '%(title)s.%(ext)s',\n 'postprocessors': [\n {\n 'key': 'FFmpegExtractAudio',\n 'preferredcodec': 'wav'\n },\n {\n 'key': 'FFmpegMetadata'\n }\n ]\n}\nwith youtube_dl.YoutubeDL(options) as ydl:\n ydl.download([\"https://www.youtube.com/watch?v=\" + i\n for i in search_result.videoId])\n```\n\nyoutube#video\u306e\u5834\u5408\u306fplaylistId\u304c\u3001\nyoutube#playlist\u306e\u5834\u5408\u306fvideoId\u304c\u3001\nyoutube#channel\u306e\u5834\u5408\u306fplaylistId\u3068videoId\u304cNone\u3092\u8fd4\u3057\u307e\u3059\u3002\nNone\u3092\u8fd4\u3055\u306a\u3044\u5834\u5408\u3082\u3042\u308a\u307e\u3059\uff08\u5024\u304c\u3042\u308b\u3068\u304d\uff09\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jun50/yt-search", "keywords": "YouTube API", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "yt-search", "package_url": "https://pypi.org/project/yt-search/", "platform": "", "project_url": "https://pypi.org/project/yt-search/", "project_urls": { "Homepage": "https://github.com/jun50/yt-search" }, "release_url": "https://pypi.org/project/yt-search/1.1.0.post1/", "requires_dist": null, "requires_python": ">=3.6", "summary": "Search contents on YouTube.", "version": "1.1.0.post1" }, "last_serial": 5832038, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "dfa67d508099c2658c32d7a4ecd193d3", "sha256": "a3c8fd98c75cb10801b80d86437a09ccc3dfb14238ea3f10a36431060622db0f" }, "downloads": -1, "filename": "yt_search-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dfa67d508099c2658c32d7a4ecd193d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 3439, "upload_time": "2019-09-15T13:23:10", "url": "https://files.pythonhosted.org/packages/e6/57/741bdc6d638002ac630aa9d1c660866bb8eb69d556ef527ace97d2ddccce/yt_search-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e061a016cc3997c67e75893fa6f57b6e", "sha256": "8d3f9aa0862262d0bf522b583da0122875f3d71b30ac84cd038aa5770ac0f2ac" }, "downloads": -1, "filename": "yt_search-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e061a016cc3997c67e75893fa6f57b6e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3178, "upload_time": "2019-09-15T13:23:12", "url": "https://files.pythonhosted.org/packages/2e/6d/27aea621520dfb42e9fe53363c289fd92e0bba1650b7784ed3245c2599ee/yt_search-1.1.0.tar.gz" } ], "1.1.0.post1": [ { "comment_text": "", "digests": { "md5": "04e9f8cfdc5adb7ee1e48577e7d3040f", "sha256": "f721d46fb33cebff1b47cab54c6c04578429fe69b9e64935d81eeaa8320da5f7" }, "downloads": -1, "filename": "yt_search-1.1.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "04e9f8cfdc5adb7ee1e48577e7d3040f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15826, "upload_time": "2019-09-15T14:02:03", "url": "https://files.pythonhosted.org/packages/72/97/cc5dbe3d1847c9e1cc0024be60aabed76c65401b546e41c8899a228fc574/yt_search-1.1.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddd54dee9b1578fea83a80ba4514b7ed", "sha256": "41e269adbd51eae6e8b8ba9b3c082161d0a294db8f38a85f61dc940ccbbe44aa" }, "downloads": -1, "filename": "yt_search-1.1.0.post1.tar.gz", "has_sig": false, "md5_digest": "ddd54dee9b1578fea83a80ba4514b7ed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3215, "upload_time": "2019-09-15T14:02:05", "url": "https://files.pythonhosted.org/packages/8e/38/85bddf720fbd87eff4639fbb9b4c7b9b3190604f2db3e93446f26dfbea26/yt_search-1.1.0.post1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "04e9f8cfdc5adb7ee1e48577e7d3040f", "sha256": "f721d46fb33cebff1b47cab54c6c04578429fe69b9e64935d81eeaa8320da5f7" }, "downloads": -1, "filename": "yt_search-1.1.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "04e9f8cfdc5adb7ee1e48577e7d3040f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15826, "upload_time": "2019-09-15T14:02:03", "url": "https://files.pythonhosted.org/packages/72/97/cc5dbe3d1847c9e1cc0024be60aabed76c65401b546e41c8899a228fc574/yt_search-1.1.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddd54dee9b1578fea83a80ba4514b7ed", "sha256": "41e269adbd51eae6e8b8ba9b3c082161d0a294db8f38a85f61dc940ccbbe44aa" }, "downloads": -1, "filename": "yt_search-1.1.0.post1.tar.gz", "has_sig": false, "md5_digest": "ddd54dee9b1578fea83a80ba4514b7ed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3215, "upload_time": "2019-09-15T14:02:05", "url": "https://files.pythonhosted.org/packages/8e/38/85bddf720fbd87eff4639fbb9b4c7b9b3190604f2db3e93446f26dfbea26/yt_search-1.1.0.post1.tar.gz" } ] }