Парсер youtube подправить код.

satfan

Пользователь
Пользователь
Апр 21, 2020
98
6
8
Windows 7. IDLE (Python 3.8 32-bit)
Код:
# -*- coding: utf-8 -*-
import urllib
import re, os, sys
def findyoutube(x):
    mas=[]
    sq='http://www.youtube.com/results?search_query='+urllib.quote(x)
    doc = urllib.urlopen(sq).read().decode('cp1251',errors='ignore')
    match = re.findall("\?v\=(.+?)\"", doc)
    if not(match is None):
        for ii in match:
            if(len(ii)<25):
                mas.append(ii)
    mas=dict(zip(mas,mas)).values()
    mas2=[]
    for y in mas: mas2.append('http://www.youtube.com/watch?v='+y)
    return mas2
print(findyoutube('Python+уроки°'))
with open('output.txt', 'w') as output:
    for i in findyoutube('болонская+удочка'):
        output.write(i+'\n')

Парсер youtube работает.
Ссылки сохраняются в файле: output.txt
-----------------------------------------------------------
Просьба поправить скрипт:
Чтобы перед каждой ссылкой на видео, также вставлялось Название этого видео.
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Не вижу, где в коде лежит название видео, вижу только список ссылок в mas. Кстати, весь этот кусок:
Python:
mas=dict(zip(mas,mas)).values()
mas2=[]
for y in mas: mas2.append('http://www.youtube.com/watch?v='+y)
return mas2
то же самое, что return ['http://www.youtube.com/watch?v=' + x for x in mas]
 

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
Можно использовать их API.
https://developers.google.com/youtube/v3/docs/search/list
 

satfan

Пользователь
Пользователь
Апр 21, 2020
98
6
8
Спасибо
alext
------------------------
Я начинающий. для меня это сложно.
Неужели никто не сможет помочь ?
 
Последнее редактирование:

Форум IT Специалистов