使用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 播放列表中获取各个视频的描述。
方法:
- 我们将使用build 、 list 、 execute方法,它将提供播放列表详细信息。
- 在 list 方法中,在 part 属性中传递片段,在playlistId属性中传递PlaylistID或PlaylistURL 。
- 在maxResults和pageToken 中传递 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属性中传递contentDetails和snippet传递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"))
输出: