Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
1 / 1 / 0
Регистрация: 02.02.2019
Сообщений: 110
1

Парсер youtube

26.03.2019, 11:02. Показов 4794. Ответов 2

Author24 — интернет-сервис помощи студентам
Парсер ютуба выдал в конце ошибку:
Python
1
2
3
4
Line 75
    finally:
          ^
SyntaxError: invalid syntax
======================================
Это сам скрипт:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# coding: utf8
# == pars_playlist.py
# == select short information from Yotube playlist -- 
from urllib import urlopen
from BeautifulSoup import BeautifulSoup
 
print   "pars_playlist working..."
 
# == get first linkof playlist ==
url = raw_input('input link:')
url = "https://www.youtube.com/playlist?list=PLku9se_HAVOrs3p_jJzZAbV3BEODrhS3j"
 
fh = open('data.txt', 'w')
 
cur_num = 1     # index of reading page
try: 
        while True:
            # -- get curent page --
            print cur_num
            print url
            content = urlopen( url )
            page = content.read()   
                
            # -- cut head
            soup = BeautifulSoup(page)
            body = soup.find('body')
 
            # get current title
            span = body.find(id="ecw-title")
            title = span.getText()
            print title
 
            # get list of all links
            ol = body.find(id="playlist-autoscroll-list")
            lis = ol.findAll('li')
 
            # soup for current page
            for idx, li in enumerate(lis): # seek for picture
                li_title = li["data-video-title"] 
                if li_title  == title: break
            video_id = li["data-video-id"]
 
            # get picture information
            img = li.find('img')
            img_src = img['src']
            pos = img_src.find('?')
            if pos > 0: img_src = img_src[:pos]
 
            # get description of page
            descr = body.find(id="eow-description")
            descr_text = descr.getText()
 
            # save information
            fh.write(title.encode('utf8') + '\n')
            fh.write(video_id.encode('utf8') + '\n')
            fh.write(img_src.encode('utf8') + '\n')
            fh.write(descr_text.encode('utf8') + '\n')
            fh.write('\n')
 
            if idx >=len(lis) -1: break
 
            # get next url
            idx += 1
            li = lis[ idx ]
            anc = li.find('a')
            href = anc['href']
            url = "https://www.youtube.com" + href
 
            cur_num = cur_num + 1
 
    # == 05 end of work ==
    except:
        print "exception: " + str(cur_num)
        pass
    finally:
        fh.close()
        print "ok"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2019, 11:02
Ответы с готовыми решениями:

Youtube парсер видео
Здравствуйте! Возникла следующая проблема при написании парсера видео ютуб: когда я пишу любой...

Парсер youtube перестал работать?
IDLE (Python 3.10 64-bit) Windows 10 ————————– Уважаемые подскажите. Парсер youtube работал...

Парсер почт youtube на python
Добрый вечер,Друзья! мне когда то давний друг написал парсер почт youtube на питоне,прошло 2 месяца...

YouTube Парсер
Есть ли на форуме те, кто реализовывал парсинг YouTube на PHP и знаком с подводными камнями и...

Сервер + youtube парсер
День добрый! Появилась необходимость создать небольшой сайт, с серверной частью, которая будет...

2
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
26.03.2019, 12:12 2
satfan, вы бы с синтаксисом разобрались. Ведь даже строка с номером ошибки указана.

Добавлено через 2 минуты
Хотя у Вас такой бардак в отступах, что сразу и не понятно к чему блоки except, finally относятся. Хорошая структура, да?

Python
1
2
3
4
try: 
        while True:
    except:
    finally:
0
1 / 1 / 0
Регистрация: 02.02.2019
Сообщений: 110
26.03.2019, 13:15  [ТС] 3
Спасибо --- ошибку исправил:

Python
1
2
3
4
5
6
7
# == 05 end of work ==
except: 
    print "exception: " + str(cur_num)
    pass
finally:
    fh.close()
    print "ok"
==========================
Теперь вторая задачка:
Парсер ютуба сработал, но ничего не записалось в файл: data.txt
0
26.03.2019, 13:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2019, 13:15
Помогаю со студенческими работами здесь

YouTube API, как отключить ссылку в плеере на сам YouTube?
Всем привет. Использую в своем приложение библиотеку от youtube, для показа видео контента. Может...

Wordpress shortcode для ютуба [youtube] .[\youtube] как сделать?
Всем привет) Подскажите плииз, как втавить шорткод для ютуба на Wordpressе ..?

Как скачать весь плейлист с YouTube через youtube-dl?
Скачивать отдельные ролики с выбором качества у меня проблем нет. Но вот если хочется скачать весь...

Www.youtube.com и youtube.com переходят по разным адресам
Всем доброго времени суток! Прошу помощи, т.к. сам не могу разобраться. Сидел сегодня в инете,...

Замена кода плеера YouTube на ссылку YouTube
Всем привет. Помогите, пожалуйста, решить такую проблемку в регулярных выражениях. Есть код...

Дублирование вставки видео из youtube с плагином "Lite YouTube Embed"
Всем привет! Проблема такая: поставил плагин "Mihdan: Lite YouTube Embed". Вставляю видео из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru