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