Exemplo n.º 1
0
def search(term, page):
    videos = VideosSearch(term, limit=20, language='en', region='US')
    for i in range(0, int(page)):
        videos.next()

    SER = term
    results_dict = videos.result(mode=ResultMode.dict)
    results = results_dict['result']

    term = results
    for t in term:
        remove = ['/', '\\', '(', ')', '?']
        for value in remove:
            t['title'] = t['title'].replace(value, '')

    my_dict = {
        "title": "",
        "thumbnails": ["", ""],
        "channel": "",
        "viewCount": "",
        "publishedTime": "",
        "id": "",
        "search": SER
    }
    term.append(my_dict)
    #return jsonify(term)
    return render_template('search.html', term=term, page=page)
Exemplo n.º 2
0
def search_videos(limit=30):
    video_search = VideosSearch('videos for cats to watch',
                                limit=limit,
                                language='en',
                                region='US')
    video_set = []
    while limit > len(video_set):
        if len(video_set) != 0:
            video_search.next()
        for vid in video_search.result()['result']:
            video_set.append(vid['link'])
            print(f"{vid['title']} - {vid['link']}")
    return video_set
def get_available_videos(topic, limit=20):
    VS = VideosSearch(topic, limit=limit)
    data = []
    temp = VS.result()
    [
        data.append(temp["result"][i]["title"])
        for i in range(len(temp["result"]))
    ]
    while True:
        try:
            VS.next()
            temp = VS.result()
            [
                data.append(temp["result"][i]["title"])
                for i in range(len(temp["result"]))
            ]
        except:
            break
    VS = None
    return {"result": data}
Exemplo n.º 4
0
def youtube_query(query, json_file, language='en', page=30, max_minu=30):
    json_worker = JsonWorker(json_file)
    page_finish = False
    video_list = []
    videosSearch = VideosSearch(query, language=language)
    print("---------------- {} ----------------".format(query))
    for page_i in tqdm(range(page)):
        error_flag = False
        video_meta = search_results_select(
            videosSearch.result(), max_duration=[0, max_minu, 0])
        if len(video_meta) > 1:
            video_list.extend(video_meta)
        try:
            videosSearch.next()
        except:
            error_flag = True
        if error_flag:
            break
        time.sleep(2)
        if page_i == page-1:
            page_finish = True
    if len(video_list) >= 1:
        count = 0
        for vi in video_list:
            if json_worker.check_in(vi["vid"]):
                continue
            count += 1
            vi["query"] = query_all[language][query]
            json_worker.add_one(vi, vi["vid"])
        if count >= 1:
            print("{}: {}".format(query, count))
            json_worker.save()
        else:
            print("{}: {}".format(query, 0))
    else:
        print("{}: {}".format(query, 0))

    return page_finish
Exemplo n.º 5
0
def getYoutubeVideos(query):
    search = VideosSearch(query)
    print("search", search)

    response = search.result()["result"]

    count = 0

    print("len response", len(response))
    while len(response) < 100 and count < 10:
        search.next()
        response += search.result()["result"]
        count += 1

    response = response[:2]

    print("link", response[0]["link"])

    for video in response:
        # if isFemale(video["link"]):
        addToDb(video, query)
        # else:
        #     continue
    return None
Exemplo n.º 6
0
from youtubesearchpython import VideosSearch

search = VideosSearch("python")

response = search.result()["result"]

while len(response) < 10:
    search.next()
    response += search.result()["result"]

print(len(response))

# id,views,title,search,video_thumbnail,duration,channel,channel_thumbnail
print((response[0]["link"]))
print((response[0]["viewCount"]["text"]))
print((response[0]["title"]))
print(str("Cloud SQL"))
print((response[0]["thumbnails"][0]["url"]))
print((response[0]["duration"]))
print((response[0]["channel"]["name"]))
print((response[0]["channel"]["thumbnails"][0]["url"]))