示例#1
0
文件: muzik.py 项目: nod3x/playmuzik
def get_youtube_title(url):
    
        urldata = urlparse.urlparse(url)
        query = urlparse.parse_qs(urldata.query)
        video_id = query["v"][0]
        yt_service = YouTubeService()
        query = YouTubeVideoQuery()
        query.vq = video_id
        feed = yt_service.YouTubeQuery(query)
        name = feed.entry[0].title.text
        return name
示例#2
0
def search(q, restrict=None):
    yt_service = YouTubeService()
    run_on_appengine(yt_service)

    yt_service.ssl = True
    yt_service.developer_key = settings.YOUTUBE_API_KEY

    query = YouTubeVideoQuery()
    query.vq = q
    if restrict:
        query.restriction = restrict

    query.max_results = 1
    feed = yt_service.YouTubeQuery(query)
    return get_embed_code(feed.entry[0])
示例#3
0
文件: __init__.py 项目: k3njiy/ewrt
    def search(self, search_terms, location=None, 
               max_results=MAX_RESULTS_PER_QUERY, max_age=None,
               orderby= 'published',
               max_comment_count=0):
        """ 
        Searches for youtube videos.
        
        @param search_terms: list of search terms
        @param location: tuple latitude, longitue, e.g. 37.42307,-122.08427
        @param max_results:
        @param max_age: datetime of the oldest entry  
        @param orderby: order search results by (relevance, published, 
                        viewCount, rating)
        @param max_comment_count: maximum number of comments to fetch 
                                  (default: 0)
        """
        
        if not (isinstance(search_terms, list) or 
            isinstance(search_terms, tuple) or isinstance(search_terms, set)):
            raise ValueError("Warning search requires a list of search terms, \
                             rather than a single term")

        # all youtube search parameter are here: 
        # https://developers.google.com/youtube/2.0/reference?hl=de#Custom_parameters
        query = YouTubeVideoQuery()
        query.vq = ', '.join(search_terms)
        query.orderby = orderby
        query.racy = 'include'
        query.time = self.get_query_time(max_age)
        query.max_results = MAX_RESULTS_PER_QUERY

        if location:
            query.location = location
                        
        return self.search_youtube(query, max_results, max_comment_count)
示例#4
0
 def _get_youtube_details( self ):
     """
     This method queries the youtube API for details on the specified video
     """
     yt_service = YouTubeService()
     query = YouTubeVideoQuery()
     query.vq = self.search
     query.racy = 'include'
     query.orderby = 'relevance'
     feed = yt_service.YouTubeQuery( query )
     print feed.entry[0]
     if len( feed.entry ) > 0:
         return { 'id': feed.entry[0].id.text.split('/')[-1],
                 'url': feed.entry[0].GetSwfUrl(),
                 'title': feed.entry[0].media.title.text,
                 'length': feed.entry[0].media.duration.seconds }
     else:
         return None
示例#5
0
    def search(self,
               search_terms,
               location=None,
               max_results=MAX_RESULTS_PER_QUERY,
               max_age=None,
               orderby='published',
               max_comment_count=0):
        """ 
        Searches for youtube videos.
        
        @param search_terms: list of search terms
        @param location: tuple latitude, longitue, e.g. 37.42307,-122.08427
        @param max_results:
        @param max_age: datetime of the oldest entry  
        @param orderby: order search results by (relevance, published, 
                        viewCount, rating)
        @param max_comment_count: maximum number of comments to fetch 
                                  (default: 0)
        """

        if not (isinstance(search_terms, list) or isinstance(
                search_terms, tuple) or isinstance(search_terms, set)):
            raise ValueError("Warning search requires a list of search terms, \
                             rather than a single term")

        # all youtube search parameter are here:
        # https://developers.google.com/youtube/2.0/reference?hl=de#Custom_parameters
        query = YouTubeVideoQuery()
        query.vq = ', '.join(search_terms)
        query.orderby = orderby
        query.racy = 'include'
        query.time = self.get_query_time(max_age)
        query.max_results = MAX_RESULTS_PER_QUERY

        if location:
            query.location = location

        return self.search_youtube(query, max_results, max_comment_count)
示例#6
0
 def search(self, artist):
     query = YouTubeVideoQuery()
     query.vq = artist
     query.orderby = 'relevance'
     query.racy = 'exclude'
     query.format = '5'
     query.max_results = 50
     query.categories.append("/Music")
     feed = self.service.YouTubeQuery(query)
     results = []
     for entry in feed.entry:
         if not self.is_valid_entry(artist, entry):
             continue
         results.append({
             'url': entry.media.player.url,
             'title': smart_str(entry.media.title.text),
             'duration': int(entry.media.duration.seconds),
         })
     return {'artist': artist, 'results': results}
示例#7
0
文件: youtube.py 项目: 6/GeoDJ
 def search(self, artist):
     query = YouTubeVideoQuery()
     query.vq = artist
     query.orderby = 'relevance'
     query.racy = 'exclude'
     query.format = '5'
     query.max_results = 50
     query.categories.append("/Music")
     feed = self.service.YouTubeQuery(query)
     results = []
     for entry in feed.entry:
         if not self.is_valid_entry(artist, entry):
             continue
         results.append({
             'url': entry.media.player.url,
             'title': smart_str(entry.media.title.text),
             'duration': int(entry.media.duration.seconds),
         })
     return {'artist': artist, 'results': results}
示例#8
0
文件: search.py 项目: dhaffner/you
def youtube_search(terms):
    query = YouTubeVideoQuery()
    query.vq = terms
    query.racy = 'include'
    return (entry2video(e) for e in YouTubeService().YouTubeQuery(query).entry)