获取视频上传的确切时间
我正在使用Youtube API来根据关键词进行搜索:
import gdata.youtube
import gdata.youtube.service
def youtube_query(query_text,
max_results=50,
start_index=1,
racy='exclude',
orderby='relevance'):
client = gdata.youtube.service.YouTubeService()
query = gdata.youtube.service.YouTubeVideoQuery()
query.vq = query_text
query.max_results = max_results
query.start_index = start_index
query.racy = racy
#query.format = 5
query.orderby = orderby
feed = client.YouTubeQuery(query)
resultsCount = int(feed.total_results.text)
entries = []
try:
while resultsCount > int(query.start_index):
print repr(feed.entry)
entries += feed.entry
query.start_index = int(query.start_index) + int(query.max_results)
feed = client.YouTubeQuery(query)
except gdata.service.RequestError:
#
# Cannot request beyond 1000 items.
#
pass
return entries
每个搜索结果都是一个YoutubeVideoEntry。
每个视频的上传日期是可以获取的,因为在每个视频上都会显示这个信息:
我还需要获取时间,有没有人知道这能做到吗?
2 个回答
1
你还可以使用iso8601库里的parse_date函数,这个函数会返回一个日期对象:
import iso8601
uploaded_time = iso8601.parse_date("2007-01-25T12:00:00Z")
print uploaded_time
输出结果:
datetime.datetime(2013, 8, 21, 20, 54, 34, tzinfo=<iso8601.iso8601.Utc object at 0x1045d7b10>)
4
你可以使用 entry.published.text
这个属性:
import datetime
import time
feed = client.YouTubeQuery(query)
for entry in feed.entry:
_tmp = time.strptime(entry.published.text, '%Y-%m-%dT%H:%M:%S.000Z')
ptime = datetime.datetime(*_tmp[:6])
print ptime
print ptime.time()
输出结果:
2010-01-27 19:42:42
19:42:42