📌  相关文章
📜  使用Python获取有关 YouTube 频道的信息

📅  最后修改于: 2022-05-13 01:55:23.664000             🧑  作者: Mango

使用Python获取有关 YouTube 频道的信息

先决条件: YouTube API

Google 提供了大量 API 供开发人员选择。 Google 提供的每项服务都有一个关联的 API。作为其中之一,YouTube 数据 API 使用起来非常简单,可提供以下功能:

  • 搜索视频
  • 处理视频,例如检索有关视频的信息、插入视频、删除视频等。
  • 处理订阅,例如列出所有订阅、插入或删除订阅。
  • 检索有关评论的信息,例如对parentId等标识的特定评论的回复。

在本文中,我们将使用 YouTube API 在Python执行各种 YouTube 操作。

获取 YouTube 频道信息

在本节中,我们将编写一个Python脚本,该脚本将使用Python提取 YouTube 频道信息。

频道信息:



  • 总订阅人数
  • 视频总数
  • 总浏览

方法:

  • 在这里,我们将使用build()channels()list()execute()方法,它将提供 YouTube 频道的详细信息。
  • 内部列表的方法,通过在部分财产和id属性统计通过YouTube频道的渠道ID。

下面是实现:

Python3
# Import Module
from googleapiclient.discovery import build
 
# Create YouTube Object
youtube = build('youtube', 'v3',
                developerKey='Enter API key')
 
ch_request = youtube.channels().list(
    part='statistics',
    id='Enter Channel ID')
 
# Channel Information
ch_response = ch_request.execute()
 
sub = ch_response['items'][0]['statistics']['subscriberCount']
vid = ch_response['items'][0]['statistics']['videoCount']
views = ch_response['items'][0]['statistics']['viewCount']
 
print("Total Subscriber:- ", sub)
print("Total Number of Videos:- ", vid)
print("Total Views:- ", views)


Python3
# Import Module
from googleapiclient.discovery import build
 
 
def playlist_video_links(playlistId):
 
    nextPageToken = None
     
    # Creating youtube resource object
    youtube = build('youtube', 'v3',
                    developerKey='Enter API Key')
 
    while True:
 
        # Retrieve youtube video results
        pl_request = youtube.playlistItems().list(
            part='snippet',
            playlistId=playlistId,
            maxResults=50,
            pageToken=nextPageToken
        )
        pl_response = pl_request.execute()
 
        # Iterate through all response and get video description
        for item in pl_response['items']:
 
            description = item['snippet']['description']
 
            print(description)
 
            print("\n")
 
        nextPageToken = pl_response.get('nextPageToken')
 
        if not nextPageToken:
            break
 
 
playlist_video_links('Enter Playlist ID')


Python3
# Import Module
from googleapiclient.discovery import build
 
# Create YouTube Object
youtube = build('youtube', 'v3',
                developerKey='Enter API key')
 
# Get video count
def Channel_Depth_details(channel_id):
    pl_request = youtube.playlists().list(
        part='contentDetails,snippet',
        channelId='channel_id',
        maxResults=50
    )
    pl_response = pl_request.execute()
 
    return len(pl_response['items'])
 
 
print(Channel_Depth_details("Channel ID"))


输出:

从 YouTube 播放列表中获取单个视频的说明

在本节中,我们将学习如何使用Python从 YouTube 播放列表中获取各个视频的描述。

方法:

  • 我们将使用buildlistexecute方法,它将提供播放列表详细信息。
  • 在 list 方法中,在 part 属性中传递片段,在playlistId属性中传递PlaylistIDPlaylistURL
  • maxResultspageToken 中传递 50 值最初传递无值。

下面是实现:

蟒蛇3



# Import Module
from googleapiclient.discovery import build
 
 
def playlist_video_links(playlistId):
 
    nextPageToken = None
     
    # Creating youtube resource object
    youtube = build('youtube', 'v3',
                    developerKey='Enter API Key')
 
    while True:
 
        # Retrieve youtube video results
        pl_request = youtube.playlistItems().list(
            part='snippet',
            playlistId=playlistId,
            maxResults=50,
            pageToken=nextPageToken
        )
        pl_response = pl_request.execute()
 
        # Iterate through all response and get video description
        for item in pl_response['items']:
 
            description = item['snippet']['description']
 
            print(description)
 
            print("\n")
 
        nextPageToken = pl_response.get('nextPageToken')
 
        if not nextPageToken:
            break
 
 
playlist_video_links('Enter Playlist ID')

输出:

统计 YouTube 频道播放列表的数量

在本节中,我们将编写一个Python脚本,该脚本将使用 YouTube API 计算 YouTube 频道播放列表的数量。

方法:

  • 在这里,我们将使用build()playlists()list()execute()方法,它将提供 YouTube 频道的详细信息。
  • list方法中,在 part 属性和channelId属性中传递contentDetailssnippet传递channelId

下面是实现:

蟒蛇3

# Import Module
from googleapiclient.discovery import build
 
# Create YouTube Object
youtube = build('youtube', 'v3',
                developerKey='Enter API key')
 
# Get video count
def Channel_Depth_details(channel_id):
    pl_request = youtube.playlists().list(
        part='contentDetails,snippet',
        channelId='channel_id',
        maxResults=50
    )
    pl_response = pl_request.execute()
 
    return len(pl_response['items'])
 
 
print(Channel_Depth_details("Channel ID"))

输出: