如何使用python代码从给定的URL获取youtube标题和描述?

时间:2012-07-04 01:40:27

标签: python youtube youtube-api youtube-data-api

如何从给定网址的python代码中获取youtube标题和说明。是否有必要使用youtube API?我正在编写一个程序,需要从给定的URL找到生成标题和描述

3 个答案:

答案 0 :(得分:6)

它不是必要,但它可能比编写自己的更快更容易。

有关详细信息,请参阅https://developers.google.com/youtube/1.0/developers_guide_python

安装gdata模块后,尝试

import gdata.youtube
import gdata.youtube.service

yt_service = gdata.youtube.service.YouTubeService()

# authorize - you need to sign up for your own access key, or be rate-limited
# yt_service.developer_key = 'ABCxyz123...'
# yt_service.client_id = 'My-Client_id'

def PrintEntryDetails(entry):
    print 'Video title: %s' % entry.media.title.text
    print 'Video published on: %s ' % entry.published.text
    print 'Video description: %s' % entry.media.description.text
    print 'Video category: %s' % entry.media.category[0].text
    print 'Video tags: %s' % entry.media.keywords.text
    print 'Video watch page: %s' % entry.media.player.url
    print 'Video flash player URL: %s' % entry.GetSwfUrl()
    print 'Video duration: %s' % entry.media.duration.seconds

for entry in yt_service.GetTopRatedVideoFeed().entry:
    PrintEntryDetails(entry)

答案 1 :(得分:4)

这两个答案不再适用于第一个,因为V2 API不再可用,因为URL资源不再可用。

这是一个有效的V3代码:

from apiclient.discovery import build

DEVELOPER_KEY = 'your api key goes here'
youtube = build('youtube', 'v3', developerKey=DEVELOPER_KEY)

ids = '5rC0qpLGciU,LgbuxTfJFr0'
results = youtube.videos().list(id=ids, part='snippet').execute()
for result in results.get('items', []):
    print result['id']
    print result['snippet']['description']
    print result['snippet']['title'] 

答案 2 :(得分:0)

如果你真的想自己一个人写一个没有被你的开发者密钥跟踪的YouTube,你可以直接发送请求:

https://gdata.youtube.com/feeds/api/videos/#{video_id}
https://gdata.youtube.com/feeds/api/videos/#{video_id}?alt=json

例如:https://gdata.youtube.com/feeds/api/videos/fcz_DYms4N4。 它可以根据您的需要返回XML,JSON或JSONP。