<h2 align="center">:small_red_triangle: AYTCH - Async YouTube Channels Scrapper :small_red_triangle:</h2>
![Logo](https://user-images.githubusercontent.com/68655454/229973420-c79ee91d-e73a-4358-95ff-78f501e99902.jpg)
<p align="center">
<a href="https://pypi.python.org/pypi/aytch" alt="PyPi Package Version">
<img src="https://img.shields.io/pypi/v/aytch.svg" /></a>
<a href="https://pypi.python.org/pypi/aytch" alt="Supported Python versions">
<img src="https://img.shields.io/pypi/pyversions/aytch.svg" /></a>
<a href="https://github.com/kieled/aytch/actions/workflows/test.yaml" alt="GitFlow">
<img src="https://github.com/kieled/aytch/actions/workflows/test.yaml/badge.svg" /></a>
<a href="https://codecov.io/gh/kieled/aytch" alt="codecov">
<img src="https://codecov.io/gh/kieled/aytch/branch/main/graph/badge.svg?token=3M53KOF8R1" /></a>
</p>
<p align="center">AYTCH is a Python library for extracting information about YouTube channels. It uses AIOHTTP library for best performance and concurrent fetching support. Library very lightweight (11KB) and return only extra nessesary information about any youtube channel.</p>
## :pencil2: Installation
You can install AYTCH using pip:
```python
pip install aytch
```
## :bookmark_tabs: Usage
Here's an example of how to use AYTCH to get information about a YouTube channel:
```python
import asyncio
from aytch import get_channel_info
async def main():
channel_url = 'https://www.youtube.com/channel/UCdX9ulb8u0oUf8pUzg9Z5Jw'
channel_info = await get_channel_info(channel_url)
print(channel_info)
asyncio.run(main())
```
## :link: API
```python
get_channel_info(
channel_url: str,
lang: 'en' | 'ru' = 'en'
) -> dict
```
Retrieves information about a YouTube channel.
#### Parameters:
* **channel_url (str)**: _The URL of the YouTube channel to get information about._
* **lang (str)**: _The language of the YouTube page. Can be either 'en' or 'ru'. Defaults to 'en'._
#### Returns:
A dictionary containing the following information about the channel:
* **author (str)**: _The name of the channel's author._
* **author_id (str)**: _The external ID of the channel's author._
* **author_url (str)**: _The URL of the channel's author._
* **author_thumbnail (str)**: _The URL of the channel's author's thumbnail image._
* **subscriber_count (int)**: _The number of subscribers to the channel._
* **description (str)**: _The description of the channel._
* **view_count (str)**: _The total number of views on the channel._
Example:
```python
{
'author': 'The Slow Mo Guys',
'author_id': 'UCUK0HBIBWgM2c4vsPhkYY4w',
'author_url': 'https://www.youtube.com/channel/UCUK0HBIBWgM2c4vsPhkYY4w',
'author_thumbnail': 'https://yt3.ggpht.com/ytc/AAUvwnhRnI8Lr...',
'subscriber_count': 14500000,
'description': 'The best slow motion on Youtube. \n\nWe shoot all of our...',
'view_count': '265308911'
}
```
## :recycle: Contributing
Contributions to aytch are welcome! If you'd like to contribute, please fork the repository and make a pull request.
## :warning: License
aytch is licensed under the MIT License. See LICENSE for more information.
<p align="center">Inspired by <a href="https://github.com/FreeTubeApp/yt-channel-info">yt-channel-info</a></p>
Raw data
{
"_id": null,
"home_page": "https://github.com/kieled/aytch",
"name": "aytch",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "scrapper,parser,info,aiohttp,channels,asyncio,yt,youtube,async",
"author": "Kiel Ed",
"author_email": "kieledssh@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/7c/5e/eb27255eeec0e2c54147722152d52136f4950499aef2576ff6e01c697b31/aytch-0.1.1.tar.gz",
"platform": null,
"description": "<h2 align=\"center\">:small_red_triangle: AYTCH - Async YouTube Channels Scrapper :small_red_triangle:</h2>\n\n![Logo](https://user-images.githubusercontent.com/68655454/229973420-c79ee91d-e73a-4358-95ff-78f501e99902.jpg)\n\n\n<p align=\"center\">\n <a href=\"https://pypi.python.org/pypi/aytch\" alt=\"PyPi Package Version\">\n <img src=\"https://img.shields.io/pypi/v/aytch.svg\" /></a>\n <a href=\"https://pypi.python.org/pypi/aytch\" alt=\"Supported Python versions\">\n <img src=\"https://img.shields.io/pypi/pyversions/aytch.svg\" /></a>\n <a href=\"https://github.com/kieled/aytch/actions/workflows/test.yaml\" alt=\"GitFlow\">\n <img src=\"https://github.com/kieled/aytch/actions/workflows/test.yaml/badge.svg\" /></a>\n <a href=\"https://codecov.io/gh/kieled/aytch\" alt=\"codecov\">\n <img src=\"https://codecov.io/gh/kieled/aytch/branch/main/graph/badge.svg?token=3M53KOF8R1\" /></a>\n</p>\n\n\n<p align=\"center\">AYTCH is a Python library for extracting information about YouTube channels. It uses AIOHTTP library for best performance and concurrent fetching support. Library very lightweight (11KB) and return only extra nessesary information about any youtube channel.</p>\n\n\n## :pencil2: Installation\nYou can install AYTCH using pip:\n\n```python\npip install aytch\n```\n\n## :bookmark_tabs: Usage\nHere's an example of how to use AYTCH to get information about a YouTube channel:\n\n```python\nimport asyncio\nfrom aytch import get_channel_info\n\nasync def main():\n channel_url = 'https://www.youtube.com/channel/UCdX9ulb8u0oUf8pUzg9Z5Jw'\n channel_info = await get_channel_info(channel_url)\n print(channel_info)\n\nasyncio.run(main())\n```\n## :link: API\n```python\nget_channel_info(\n channel_url: str, \n lang: 'en' | 'ru' = 'en'\n) -> dict\n```\nRetrieves information about a YouTube channel.\n\n#### Parameters:\n\n* **channel_url (str)**: _The URL of the YouTube channel to get information about._\n* **lang (str)**: _The language of the YouTube page. Can be either 'en' or 'ru'. Defaults to 'en'._\n\n#### Returns:\n\nA dictionary containing the following information about the channel:\n\n* **author (str)**: _The name of the channel's author._\n* **author_id (str)**: _The external ID of the channel's author._\n* **author_url (str)**: _The URL of the channel's author._\n* **author_thumbnail (str)**: _The URL of the channel's author's thumbnail image._\n* **subscriber_count (int)**: _The number of subscribers to the channel._\n* **description (str)**: _The description of the channel._\n* **view_count (str)**: _The total number of views on the channel._\n\nExample:\n```python\n{\n 'author': 'The Slow Mo Guys',\n 'author_id': 'UCUK0HBIBWgM2c4vsPhkYY4w',\n 'author_url': 'https://www.youtube.com/channel/UCUK0HBIBWgM2c4vsPhkYY4w',\n 'author_thumbnail': 'https://yt3.ggpht.com/ytc/AAUvwnhRnI8Lr...',\n 'subscriber_count': 14500000,\n 'description': 'The best slow motion on Youtube. \\n\\nWe shoot all of our...',\n 'view_count': '265308911'\n}\n\n```\n\n## :recycle: Contributing\nContributions to aytch are welcome! If you'd like to contribute, please fork the repository and make a pull request.\n\n## :warning: License\naytch is licensed under the MIT License. See LICENSE for more information.\n\n<p align=\"center\">Inspired by <a href=\"https://github.com/FreeTubeApp/yt-channel-info\">yt-channel-info</a></p>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Async YouTube Channels Info",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/kieled/aytch",
"Repository": "https://github.com/kieled/aytch"
},
"split_keywords": [
"scrapper",
"parser",
"info",
"aiohttp",
"channels",
"asyncio",
"yt",
"youtube",
"async"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "35361d9e07beb443a60128b074a68ea67fd85c296e709d92b03f6ae117c9d111",
"md5": "e3aa57a93bf5a576d519c7e0006cbdc7",
"sha256": "13fa672ce1e0fb8ff57c460cdb74cb48cd853737698e749fdd0a342f5c2fb299"
},
"downloads": -1,
"filename": "aytch-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e3aa57a93bf5a576d519c7e0006cbdc7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 6284,
"upload_time": "2023-05-17T13:31:36",
"upload_time_iso_8601": "2023-05-17T13:31:36.626599Z",
"url": "https://files.pythonhosted.org/packages/35/36/1d9e07beb443a60128b074a68ea67fd85c296e709d92b03f6ae117c9d111/aytch-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7c5eeb27255eeec0e2c54147722152d52136f4950499aef2576ff6e01c697b31",
"md5": "f981d03e6a8b7af212937e6bb8f38d8e",
"sha256": "704b10b9fdf987a5ec70549c34f1e638d2e566d9903623b653b221b17ed92d78"
},
"downloads": -1,
"filename": "aytch-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "f981d03e6a8b7af212937e6bb8f38d8e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 6994,
"upload_time": "2023-05-17T13:31:38",
"upload_time_iso_8601": "2023-05-17T13:31:38.413292Z",
"url": "https://files.pythonhosted.org/packages/7c/5e/eb27255eeec0e2c54147722152d52136f4950499aef2576ff6e01c697b31/aytch-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-17 13:31:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kieled",
"github_project": "aytch",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "aytch"
}