Скрипт сборщика цитат и распознания текста из видео на Python
- понедельник, 5 ноября 2018 г. в 00:16:48
pip install pytube
from pytube import YouTube
a=YouTube('https://www.youtube.com/watch?v=RNbXm8WKmow')
a.streams.first().download()
a,contours,h = cv2.findContours(gray3, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for i in contours:
cv2.drawContours(gray3,[i],0,(0,0,255),1)
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get -y install libopencv-dev
sudo apt-get -y install build-essential checkinstall cmake pkg-config yasm
sudo apt-get -y install libtiff4-dev libjpeg-dev libjasper-dev
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev
sudo apt-get -y install python-dev python-numpy
sudo apt-get -y install libtbb-dev
sudo apt-get -y install libqt4-dev libgtk2.0-dev
sudo apt-get -y install libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev
pip install opencv-python
sudo apt-get install tesseract-ocr
sudo pip3 install pytesseract
sudo pip3 install tesseract
import cv2
import pytesseract
import numpy as np
from pytube import YouTube
import os
nameofvideo="RNbXm8WKmow"
a=YouTube('https://www.youtube.com/watch?v='+nameofvideo)
a.streams.first().download()
title=a.title
title2=title.replace("/","").replace(",","").replace(".","")+".mp4"
os.rename(title2, "youtubefile.mp4")
print(title)
f=open('/var/www/python/'+str(nameofvideo)+'.txt','w')
f.write(title+"<br>")
f.write('<table><tr><td>Время</td><td>Цитата</td><td>Ссылка</td></tr>')
spisoksimvolovpodudalenie=["*","/","|","\\",")","(","}","{","+","`","~","№","",":","$","#","@","%","[","]","&","^","' "]
def udaleniesimvolov(stroka):
for element in spisoksimvolovpodudalenie:
stroka=stroka.replace(element,"")
return stroka
vidcap = cv2.VideoCapture('youtubefile.mp4')
vidcap.set(cv2.CAP_PROP_POS_AVI_RATIO,1)
durationsec=int(vidcap.get(cv2.CAP_PROP_POS_MSEC)/1000)
print("duration: "+str(durationsec)+" sec")
for thissec in range(0,durationsec,5):
vidcap.set(cv2.CAP_PROP_POS_MSEC,thissec*1000)
success,image = vidcap.read()
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray2 = cv2.addWeighted( gray, 1.5, gray, 0, 0.5)
gray3 = gray2[450:670,0:1280]
if success:
print(str(thissec)+" sec.")
text = udaleniesimvolov(pytesseract.image_to_string(gray3, lang='rus'))
if len(text)>15:
print (text)
f.write('<tr><td>'+str(thissec)+'</td><td>'+text+'</td><td><a href="https://www.youtube.com/watch?v='+nameofvideo+"&t="+str(thissec)+'">Ссылка</a></td></tr>')
print("----")
f.write('</table>')
f.close()
Время, c. | Цитата | |
95 | «АКТИВИСТЫ НЕ ДОЛЖНЫ НЕНАВИДЕТЬ МЕНТОБ. ОНИ ДОЛЖНЫ ПОПЫТДТЬСЯ ПОННТЬ, ЧТО МЕНТА ПОБУДИЛО БЫТЬ МЕНТОМ» |
→ |
195 | ПЕТР ВЕРЗИЛОВ — УЧАСТНИК PUSSY RIOT БЫВШИИ МУЖ НАДЕЖДЫ ТОЛОКОННИКОВОИ |
→ |
255 | Екатерина Самуцевич | → |
570 | ОБОЖАЮ ТРИКОТАЖ! | → |
595 | ' вляДЬМЦР сорбйПн ‚ |
→ |
990 | ПЕТР ВЕРЗИЛОВ В ЮНОСТИ ЖИЛ В ЯПОНИИ ВМЕСТЕ С РОДИТЕЛЯМИ. ОТЕЦ ПЕТРА — ФИЗИК-ЯДЕРЩИК |
→ |
995 | ПЕТР ВЕРЗИЛОВ В ЮНОСТИ ЖИЛ В ЯПОНИИ ВМЕСТЕ С РОДИТЕЛЯМИ. ОТЕЦ ПЕТРА — ФИЗИК-ЯДЕРЩИК |
→ |
1270 | 11 СЕНТЯБРЯ 2018 ГОДА ПЕТР внрзипов БЫЛ госпитдлизировдн в токсикоувднимдционуов ОТДЕЛЕНИЕ городском клиническом Больницы имени вдхрушиных |
→ |
1275 | 15 СЕНТЯБРЯ БЫЛ ДОСТАВЛЕН ЧАСТНЫМ САМОЛЕТОМ В БЕРЛИНСКУЮ КЛИНИКУ СНАШТЕ |
→ |
1280 | 18 СЕНТЯБРЯ 2018 ГОДА БЕРЛИНСКИЕ ВРАЧИЗАЯВИПИ СКОРЕЕ ВСЕГО, ВЕРЗИЛОВ БЫЛ ОТРАВЛЕН СКОПОЛАМИНОМ. 26 СЕНТЯБРЯ БЫЛ ВЫПИСАН ИЗ БЕРЛИНСКОИ КЛИНИКИ |
→ |
1285 | 18 СЕНТЯБРЯ 2018 ГОДА БЕРЛИНСКИЕ ВРАЧИ ЗАЯВИЛИ СКОРЕЕ ВСЕГО, ВЕРЗИЛОВ БЫЛ ОТРАВЛЕН СКОПОЛАМИНОМ. 26 СЕНТЯБРЯ БЫЛ ВЫПИСАН ИЗ БЕРЛИНСКОИ КЛИНИКИ |
→ |
1395 | «МЕДИАЗОНА» — интврнвт-издднив про суды, АРЕСТЫ и рорсию. основднноЁ в свнтявув 2014 годя НАДЕЖДОИ тол_оконниковои и МАРИЕИ Алехинои |
→ |
1590 | «Если что- то СТРАШНОЕ прейсХЬдиі зі? нЁзндчит, ' что ты ДОЛЖЕН от СЕБЯ откдздтьря» |
→ |
1760 | йоко оно — ОБЩЕСТВЕННЫЙ ДЕЯТЕЛЬ, ВДОВА ДЖО " … ПЕ ВИЦА, ХУДОЖНИК, |
→ |
2040 | «ЕСЛИ У КОГО-ТО БЕЗУМНЫЕ РОДИТЕЛИ, ЭТО, СКОРЕЕ, ПОВОД ДЛЯ РЕСПЕКТ!-» |
→ |
2330 | «ВНРЕННЯЯ МАМА» |
→ |
2425 | ГРАД КИТЕЖ — ЗАТОНУВШИЙ ГОРОД,_НАХ0ДИВШИЙСЯ‚ ПО ПРЕДАНИЮ, В ОЕВЕРНОИ ЧАСТИ НИЖЕГОРОДСКОИ ОБЛАСТИ, НА БЕРЕГАХ ОЗЕРА СВЕТЛОЯР |
→ |
2515 | «мы ЖЕМ ЛОБСЕРА и пОмогд здключиным и ПИСАТЕЛЯМ» |
→ |
2550 | СЕЙЧАС- В ЖЕСТКОЙ ОППОЗИЦИИ РООСИЙ ›. ' ЖИВЕТ И РАБОТАЕТ В США |
→ |
2745 | ТОЛОКОННИКОВА ПРОБЫЛА В ТЮРЬМЕ 661 ДЕНЬ. . С 3 МАРТА 2012 ГОДА ПО 23 ДЕКАБРЯ 2013 ГОДА У мд. |
→ |
2985 | ВПТСН — ТЕРМИН, ОБОЗНАЧАЮЩИЙ НА СЛЕНГЕ ЛГБТ-СООБЩЕСТВА МУЖЕПОДОБНУЮ ДЕВУШКУ ‘ ‚ 00 СТРИЖКОИ «ПОД МАЛЬЁИ_К_А» |
→ |
2990 | ВЦТСН — ТЕРМИН, ОБОЗНАЧАЮЩИЙ НА СЛЕНГЕ _ ЛГБТ-СООБЩЕСТВА МУЖЕПОДОБНУЮ ДЕВУШКУ СО СТРИЖКОИ «ПОД МАЛЬЧИКА» |
→ |
3280 | «ТАКАЯ РУССКАЯ РАЗА «НУ ТЫ ;„б? |
→ |
3290 | ШИЗО — ШТРАФНОЙ ИЗОЛЯТОР. ОТДЕЛЕНИЕ ИСПРАВИТЕЛЬНОГО УЧРЕЖДЕНИЯ, ГДЕ РАОПОЛОЖЕНЫ КАМЕРЫ ДЛЯ НАРХШИТЕЛЕИ РЕЖИМА СОДЕРЖАНИЯ. ЧЕЛОВЕК, ПОМЕЩЕННЫИ В ШТРАФНОИ ИЗОЛЯТОР, СУЩЕСТВЕННО ОГРАНИЧЕН В ПРАВАХ ‚ь ›, — " |
→ |
3315 | «ЧЕЛОВЕК, котбрый долго сидит, «Е; ПЕРЕПРИДУМЬЩАЕТ свою жизнь здново»; 3 |
→ |
3510 | ПОСЛЕ АКЦИИ В ХРАМЕ ХРИСТА --'‚ПАСИТЕЛЯ БЫЛИ ЗАДЕРЖАНЫ И ОСУЖДЕНЫ ТРИ УЧАСТНИЦЫ РПЗЗУ КЮТ НАДЕЖДА ТОЛОКОННИКОВА, МАРИЯ АЛЕХИНА И ЕКАТЕРИНА САМУЦЕВИЧ |
→ |
3540 | ЕКАТЕРИНА САМУЦ ПОЛУЧИЛА ДВА ГОДА УСЛОВНО |
→ |
3660 | «МОЛОДЕЖЬ дико тРАвмируЁ. __ что у ндс НЕТ сЕксудльного оврдзовдния»; ‘ |
→ |
3740 | НАДЕЖДА ТОЛОКОННИКОВА ДВАЖДЫ ОБЪЯВЛЯЛА ГОЛОДОВКУ В МОРДОВОКОЙ КОЛОНИИ Н° 14 О ТРЕБОВАНИЕМ ПЕРЕВОДА В ДРУГОЕ МЕСТО ОТБЫТИЯ НАКАЗАНИЯ |
→ |
4275 | РЕЧЬ ПРО АКЦИЙ РПЗЗУ РЮТ СМИЛИЦИОНЕР ВСТУПАЕТ В ИГРУ» _ В ФИНАЛЕ ЧМ-2018 В МОСКВЕ |
→ |
4495 | ‹ ' «СОЧЕТАНИЕ ДИЧИ И ПОЗИЦИИ» |
→ |
4735 | «ЕСЛИ У МЕНЯ БУДЕТ ПЛОХАЯ РИФМА И ХОРОШАЯ, Я ВЫБЕРУ ПЛОХУЮ» |
→ |
4755 | «ЗООПАРКОВАЯ ИСТОРИЯ» |
→ |
4800 | БЕРНИ САНДЕРС — КАНДИДАТ В ПРЕЗИДЕ_НТЫ США НА ВЫБОРАХ 2016_ОДА. ПРОИГРАЛ ПРАИМЕРИЗ ДЕМОКРАТИЧЕСКОИ ПАРТИИ ХИППАРИ КЛИНТОН — |
→ |
4820 | . ЗАДРЦ С ВО НАСТОЙ'ЁИВОСТЬ _умвдив говорить нд РАзнБіх языкдх |
→ |
4865 | «здльный торчок» |
→ |
5055 | »" “ «РЭП- ЭТО ОСМЫСЛЕНИЕ РЕАЛЬНОСТИ» |
→ |