欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 用Python做一個嗶站小姐姐詞云跳舞視頻

用Python做一個嗶站小姐姐詞云跳舞視頻

熱門標簽:地圖標注審核表 ai電話機器人哪里好 長沙高頻外呼系統原理是什么 百度地圖標注沒有了 ai電銷機器人源碼 湛江智能外呼系統廠家 宿遷星美防封電銷卡 外呼并發線路 西藏房產智能外呼系統要多少錢

一、前言

B站上的漂亮的小姐姐真的好多好多,利用 you-get 大法下載了一個 B 站上跳舞的小姐姐視頻,利用視頻中的彈幕來制作一個漂亮小姐姐詞云跳舞視頻,一起來看看吧。

二、實現思路

1. 下載視頻

安裝 you-get 庫

pip install you-get -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

利用 you-get 下載 B 站視頻到本地
視頻鏈接:https://www.bilibili.com/video/BV1rD4y1Q7jc?from=searchseid=10634574434789745619

you-get -i https://www.bilibili.com/video/BV1rD4y1Q7jc?from=searchseid=10634574434789745619
you-get -o 本地保存路徑 視頻鏈接 

更多 you-get 大法的詳細使用,可以參考官方文檔:
https://github.com/soimort/you-get/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E


2. 獲取彈幕內容

寫 python 爬蟲,解析網頁、提取彈幕數據保存到txt,注意構造 URL 參數和偽裝請求頭。

導入需要的依賴庫

import requests
import pandas as pd
import re
import time
import random
from concurrent.futures import ThreadPoolExecutor
import datetime
from fake_useragent import UserAgent

# 隨機產生請求頭
ua = UserAgent(verify_ssl=False, path='fake_useragent.json')
start_time = datetime.datetime.now()

爬取彈幕數據

def  Grab_barrage(date):
    # 偽裝請求頭
    headers = {
        "sec-fetch-dest": "empty",
        "sec-fetch-mode": "cors",
        "sec-fetch-site": "same-site",
        "accept-encoding": "gzip",
        "origin": "https://www.bilibili.com",
        "referer": "https://www.bilibili.com/video/BV1rD4y1Q7jc?from=searchseid=10634574434789745619",
        "user-agent": ua.random,
        "cookie": "chage to your cookies"
    }
    # 構造url訪問   需要用到的參數  爬取指定日期的彈幕
    params = {
        'type': 1,
        'oid': '206344228',
        'date': date
    }
    # 發送請求  獲取響應
    response = requests.get(url, params=params, headers=headers)
    # print(response.encoding)   重新設置編碼
    response.encoding = 'utf-8'
    # print(response.text)
    # 正則匹配提取數據  轉成集合去除重復彈幕
    comment = set(re.findall('d p=".*?">(.*?)/d>', response.text))
    # 將每條彈幕數據寫入txt
    with open('bullet.txt', 'a+') as f:
        for con in comment:
            f.write(con + '\n')
            print(con)
    time.sleep(random.randint(1, 3))   # 休眠

主函數

def main():
    # 開多線程爬取   提高爬取效率
    with ThreadPoolExecutor(max_workers=4) as executor:
        executor.map(Grab_barrage, date_list)
    # 計算所用時間
    delta = (datetime.datetime.now() - start_time).total_seconds()
    print(f'用時:{delta}s  -----------> 彈幕數據成功保存到本地txt')

主函數調用

if __name__ == '__main__':
    # 目標url
    url = "https://api.bilibili.com/x/v2/dm/history"
    start = '20201201'
    end = '20210128'
    # 生成時間序列
    date_list = [x for x in pd.date_range(start, end).strftime('%Y-%m-%d')]
    print(date_list)
    count = 0
    # 調用主函數
    main()

結果如下:


3. 從視頻中提取圖片

經過實踐發現,這個視頻完整分離出圖片來有 3347 張,本文截取 800 張圖片來做詞云。

import cv2

# ============================ 視頻處理 分割成一幀幀圖片 =======================================
cap = cv2.VideoCapture(r"beauty.flv")
num = 1
while True:
    # 逐幀讀取視頻  按順序保存到本地文件夾
    ret, frame = cap.read()
    if ret:
        if 88 = num  888:
            cv2.imwrite(f"./pictures/img_{num}.jpg", frame)   # 保存一幀幀的圖片
            print(f'========== 已成功保存第{num}張圖片 ==========')
        num += 1
    else:
        break
cap.release()   # 釋放資源

結果如下:

4. 利用百度AI進行人像分割

創建一個人像分割的應用,記住你的AppID、API Key、Secret Key,后面會用到。

查看人像分割的 Python SDK 文檔,熟悉它的基本使用。

# -*- coding: UTF-8 -*-
"""
@Author  :葉庭云
@公眾號  :修煉Python
@百度AI  :https://ai.baidu.com/tech/body/seg
"""
import cv2
import base64
import numpy as np
import os
from aip import AipBodyAnalysis
import time
import random

# 利用百度AI的人像分割服務 轉化為二值圖  有小姐姐身影的蒙版
# 百度云中已創建應用的  APP_ID API_KEY SECRET_KEY
APP_ID = '23485847'
API_KEY = 'VwGY053Y1A8ow3CFBTFrK0Pm'
SECRET_KEY = '**********************************'

client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_KEY)
# 保存圖像分割后的路徑
path = './mask_img/'

# os.listdir  列出保存到圖片名稱
img_files = os.listdir('./pictures')
print(img_files)
for num in range(88, len(img_files) + 1):
    # 按順序構造出圖片路徑
    img = f'./pictures/img_{num}.jpg'
    img1 = cv2.imread(img)
    height, width, _ = img1.shape
    # print(height, width)
    # 二進制方式讀取圖片
    with open(img, 'rb') as fp:
        img_info = fp.read()

    # 設置只返回前景   也就是分割出來的人像
    seg_res = client.bodySeg(img_info)
    labelmap = base64.b64decode(seg_res['labelmap'])
    nparr = np.frombuffer(labelmap, np.uint8)
    labelimg = cv2.imdecode(nparr, 1)
    labelimg = cv2.resize(labelimg, (width, height), interpolation=cv2.INTER_NEAREST)
    new_img = np.where(labelimg == 1, 255, labelimg)
    mask_name = path + 'mask_{}.png'.format(num)
    # 保存分割出來的人像
    cv2.imwrite(mask_name, new_img)
    print(f'======== 第{num}張圖像分割完成 ========')
    time.sleep(random.randint(1,2))

結果如下:

5. 小姐姐跳舞詞云生成

# -*- coding: UTF-8 -*-
from wordcloud import WordCloud
import collections
import jieba
import re
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np


# 讀取數據
with open('bullet.txt') as f:
    data = f.read()

# 文本預處理  去除一些無用的字符   只提取出中文出來
new_data = re.findall('[\u4e00-\u9fa5]+', data, re.S)
new_data = "/".join(new_data)

# 文本分詞
seg_list_exact = jieba.cut(new_data, cut_all=True)

result_list = []
with open('stop_words.txt', encoding='utf-8') as f:
    con = f.read().split('\n')
    stop_words = set()
    for i in con:
        stop_words.add(i)

for word in seg_list_exact:
    # 設置停用詞并去除單個詞
    if word not in stop_words and len(word) > 1:
        result_list.append(word)

# 篩選后統計詞頻
word_counts = collections.Counter(result_list)
path = './wordcloud/'

for num in range(88, 888):
    img = f'./mask_img/mask_{num}'
    # 獲取蒙版圖片
    mask_ = 255 - np.array(Image.open(img))
    # 繪制詞云
    plt.figure(figsize=(8, 5), dpi=200)
    my_cloud = WordCloud(
        background_color='black',  # 設置背景顏色  默認是black
        mask=mask_,      # 自定義蒙版
        mode='RGBA',
        max_words=500,
        font_path='simhei.ttf',   # 設置字體  顯示中文
    ).generate_from_frequencies(word_counts)

    # 顯示生成的詞云圖片
    plt.imshow(my_cloud)
    # 顯示設置詞云圖中無坐標軸
    plt.axis('off')
    word_cloud_name = path + 'wordcloud_{}.png'.format(num)
    my_cloud.to_file(word_cloud_name)    # 保存詞云圖片
    print(f'======== 第{num}張詞云圖生成 ========')

結果如下:

6. 合成跳舞視頻

# -*- coding: UTF-8 -*-
import cv2
import os

# 輸出視頻的保存路徑
video_dir = 'result.mp4'
# 幀率
fps = 30
# 圖片尺寸
img_size = (1920, 1080)

fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V')  # opencv3.0 mp4會有警告但可以播放
videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)
img_files = os.listdir('./wordcloud')

for i in range(88, 888):
    img_path = './wordcloud/' + 'wordcloud_{}.png'.format(i)
    frame = cv2.imread(img_path)
    frame = cv2.resize(frame, img_size)   # 生成視頻   圖片尺寸和設定尺寸相同
    videoWriter.write(frame)      # 寫進視頻里
    print(f'======== 按照視頻順序第{i}張圖片合進視頻 ========')

videoWriter.release()   # 釋放資源

效果如下:

7. 視頻插入音頻

漂亮小姐姐跳舞那么好看,再加上自己喜歡的背景音樂,豈不美哉。

# -*- coding: UTF-8 -*-
import moviepy.editor as mpy

# 讀取詞云視頻
my_clip = mpy.VideoFileClip('result.mp4')
# 截取背景音樂
audio_background = mpy.AudioFileClip('song.mp4').subclip(17, 44)
audio_background.write_audiofile('vmt.mp3')
# 視頻中插入音頻
final_clip = my_clip.set_audio(audio_background)
# 保存為最終的視頻   動聽的音樂!漂亮小姐姐詞云跳舞視頻!
final_clip.write_videofile('final_video.mp4')

結果如下:

漂亮小姐姐詞云跳舞

到此這篇關于用Python做一個嗶站小姐姐詞云跳舞視頻的文章就介紹到這了,更多相關Python做云跳舞視頻內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 用python制作詞云視頻詳解
  • 用python做個代碼版的小仙女蹦迪視頻
  • Python做個自定義動態壁紙還可以放視頻
  • Python編程實現小姐姐跳舞并生成詞云視頻示例

標簽:漯河 海南 林芝 普洱 盤錦 南平 大同 寧夏

巨人網絡通訊聲明:本文標題《用Python做一個嗶站小姐姐詞云跳舞視頻》,本文關鍵詞  用,Python,做,一個,嗶站,小,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用Python做一個嗶站小姐姐詞云跳舞視頻》相關的同類信息!
  • 本頁收集關于用Python做一個嗶站小姐姐詞云跳舞視頻的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    一区二区三区成人| 成人动漫视频在线| 色呦呦一区二区| 欧美日韩精品二区第二页| 中文字幕亚洲区| 国产91综合一区在线观看| 91无套直看片红桃在线观看| 精品sm在线观看| 蜜桃一区二区三区四区| 国产亚洲无码精品| 欧美va亚洲va香蕉在线| 青椒成人免费视频| 欧美日韩高清丝袜| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 不卡的av在线| 日本伦理一区二区| 一区二区视频在线| 高清中文字幕mv的电影| 不卡的av在线| 亚洲成人生活片| 亚洲欧美国产高清| 91蝌蚪porny| 欧美乱熟臀69xxxxxx| 午夜精品久久久久久久蜜桃app| 超碰caoprom| 欧美一区二区三区人| 青青草伊人久久| 特级西西人体高清大胆| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲天堂av网站| 日韩三级视频在线观看| 激情图区综合网| 午夜精品福利在线视频| 亚洲精选免费视频| 亚洲精品乱码久久| 久久影院午夜论| 国产成人精品影视| 在线精品视频一区二区| 亚洲成在人线在线播放| wwwwww日本| 中国色在线观看另类| 91视视频在线观看入口直接观看www | 亚洲国产视频a| 少妇特黄一区二区三区| 中文字幕乱码一区二区免费| 91丨九色丨尤物| 日韩一区二区三区电影| 国内精品久久久久影院薰衣草 | 最新热久久免费视频| 日本少妇一级片| 欧美一区二区三区免费观看视频| 精品影视av免费| 午夜写真片福利电影网| 视频一区二区不卡| 日本爱爱小视频| 亚洲国产wwwccc36天堂| 性の欲びの女javhd| 亚洲乱码日产精品bd| 一本加勒比北条麻妃| 国产精品毛片无遮挡高清| 国产一线在线观看| 日本一区二区在线不卡| aaa黄色大片| 国产清纯美女被跳蛋高潮一区二区久久w| 成人av高清在线| 欧美第一区第二区| 99麻豆久久久国产精品免费| 日韩精品一区二区三区四区视频| 国产91精品精华液一区二区三区| 777奇米成人网| 高清国产一区二区| 日韩一区二区免费视频| caoporm超碰国产精品| 精品国精品国产尤物美女| 99久久99久久精品免费看蜜桃| 欧美不卡在线视频| 91一区二区在线观看| 久久久久久久久久久电影| 被黑人猛躁10次高潮视频| 国产三级精品在线| 欧美在线一级片| 亚洲欧美激情插| 韩国一级黄色录像| 五月婷婷久久丁香| 九九热最新地址| 精品亚洲成a人| 91麻豆精品国产自产在线| 成人的网站免费观看| 精品电影一区二区| 美国黄色一级视频| 成人欧美一区二区三区白人| 少妇无套高潮一二三区| 日韩高清一级片| 欧美亚洲另类激情小说| 东方aⅴ免费观看久久av| 久久综合九色综合欧美98| 日本人添下边视频免费| 亚洲欧美日韩人成在线播放| 久久一级免费视频| 久久国产精品无码网站| 91精品免费观看| 337p日本欧洲亚洲大胆张筱雨| 国产精品国产三级国产aⅴ入口 | 手机精品视频在线观看| 91久久线看在观草草青青| 国产91露脸合集magnet| 久久久综合精品| 中文字幕一区二区人妻在线不卡| 亚洲第一主播视频| 欧美自拍偷拍午夜视频| www.色精品| 国产精品免费aⅴ片在线观看| 老熟妇一区二区| 日本免费在线视频不卡一不卡二| 欧美麻豆精品久久久久久| 99国产精品久久久久久久久久久| 国产精品久久夜| 免费成人深夜夜行网站| 国产精品88av| 欧美韩国日本不卡| 天天做夜夜爱爱爱| 高清不卡一二三区| 国产精品嫩草99a| h色网站在线观看| 成人性色生活片免费看爆迷你毛片| 国产片一区二区| 懂色av蜜臀av粉嫩av永久| 国产精品自产自拍| 欧美激情综合在线| 天堂网avav| 成人激情开心网| 亚洲视频资源在线| 色综合 综合色| 99re这里只有精品首页| 亚洲精品国产a久久久久久| 欧美综合一区二区| 99免费观看视频| 日本免费新一区视频| 精品成a人在线观看| 亚洲 欧美 国产 另类| 国产69精品久久99不卡| 自拍偷拍亚洲欧美日韩| 欧日韩精品视频| 国产一级黄色录像| 美女视频黄频大全不卡视频在线播放| 欧美白人最猛性xxxxx69交| 女人十八毛片嫩草av| 国产成人av电影在线| 日韩美女视频一区| 欧美日韩另类一区| 国产伦精品一区二区三区视频青涩 | 丝袜美腿一区二区三区| 这里只有精品免费| 最近中文字幕免费| 国产经典欧美精品| 亚洲三级在线观看| 欧美精品一二三四| 中文字幕成人动漫| 成人免费精品视频| 亚洲一区在线观看免费观看电影高清 | 亚洲精品国产91| 国产suv精品一区二区6| 一区二区三区成人| 精品国产伦理网| 国产一区二区三区在线视频观看| 又黄又爽又色的视频| 日韩av二区在线播放| 国产亚洲欧美一区在线观看| 一本大道av伊人久久综合| 好男人香蕉影院| 国产精品亚洲成人| 亚洲午夜免费电影| 久久这里只有精品6| 色婷婷av一区二区三区gif| a天堂视频在线观看| 国产乱子伦视频一区二区三区 | 欧美日韩精品免费| 美国黑人一级大黄| 一区二区三区人妻| 九一久久久久久| 亚洲精品一二三| 精品久久国产老人久久综合| 91porn在线视频| 亚洲最大的黄色网| 成人av第一页| 蜜桃精品在线观看| 亚洲免费观看高清在线观看| 欧美成人在线直播| 91成人网在线| 亚洲精品91在线| 久久久国产精品久久久| 国产精品自拍一区| 日韩av网站在线观看| 专区另类欧美日韩| 久久女同互慰一区二区三区| 欧美三片在线视频观看 | 中文字幕不卡的av| 日韩免费成人网| 欧美影院一区二区三区| 国产欧美一区二区三区在线观看视频|