Публикации: 36
Теми: 2
Член от: Apr 2020
Репутация:
2
10-01-2021, 20:33
(Последна редакция: Преди 11-03-2021, 17:43 от zypy.)
Написах малък скрипт които сваля програмата на "Първа програма" , най -вероятно може да се направи и по добре , и е на Python3.
Код: #!/usr/bin/python env
import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://www.facebook.com/pg/pyrvaprograma/posts/'
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers = page_soup.findAll("div" ,{"class":"text_exposed_root"})
for container in containers:
prg = container.p.text
print("\n" +prg)
Публикации: 36
Теми: 2
Член от: Apr 2020
Репутация:
2
27-02-2021, 12:49
(Последна редакция: Преди 27-02-2021, 22:13 от zypy.)
(10-01-2021, 20:33)zypy написа: Написах малък скрипт които сваля програмата на "Първа програма" , най -вероятно може да се направи и по добре , и е на Python3.
Код: #!/usr/bin/python env
import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://www.facebook.com/pg/pyrvaprograma/posts/'
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers = page_soup.findAll("div" ,{"class":"text_exposed_root"})
for container in containers:
prg = container.p.text
print("\n" +prg)
Промених малко кода, сега показва по добре информацията,само имам проблем с празните редове.
Код: #!/usr/bin/python env
import bs4
import re
import sys
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://www.facebook.com/pg/pyrvaprograma/'
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers = page_soup.findAll("div" ,{"class":"text_exposed_root"})[0]
prg = containers.p.prettify()
pr = prg.replace('<br/>', '').replace('<span class="text_exposed_hide">', '').replace('</span>', '').replace('<span class="text_exposed_show">', '').replace('</p>','').replace('...','').replace('<p>','') #.replace('\n', '') -върши работа но променя подредбата!
print(pr)
Приемам градивни съвети!
Публикации: 36
Теми: 2
Член от: Apr 2020
Репутация:
2
Голяма забава!Новия ми код най накрая е готов(може би) за вкарване в приложението.
Код: #!/usr/bin/python env
import bs4
import re
import sys
from datetime import date
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://www.facebook.com/pg/pyrvaprograma/posts'
today = date.today()
d1 = today.strftime("%d.%m.%Y")
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers1 = page_soup.findAll("div" ,{"class":"text_exposed_root"})[0]
containers2 = page_soup.findAll("div" ,{"class":"text_exposed_root"})[1]
prg = containers1.p.prettify()
pr1 = prg.replace('<br/>', '/').replace('<span class="text_exposed_hide">', '').replace('</span>', '').replace('<span class="text_exposed_show">', '').replace('</p>','').replace('...','').replace('<p>','').replace('\t','').replace('\n','').replace('/','\n')
print(pr1)
prg = containers2.p.prettify()
pr2 = prg.replace('<br/>', '/').replace('<span class="text_exposed_hide">', '').replace('</span>', '').replace('<span class="text_exposed_show">', '').replace('</p>','').replace('...','').replace('<p>','').replace('\t','').replace('\n','').replace('/','\n')
print(pr2)
Код: zypy@localhost:~> python3 1p5.py
Неделя 28.02.2021
08:00- За къде пътувате
09:25- Мярка за неотклонение
10:50- Търся съпруг на мама
12:10- Зарево над Драва, част 1
13:35- Зарево над Драва, част 2
14:55- Баш майстора
16:00- Последно лято
17:20- Мъже
18:45- Кмете, кмете
20:05- Любимец 13
21:30- Куче в чекмедже
22:50- Гунди
Понеделник 01.03.2021
08:00- Последно лято
09:20- Мъже
10:45- Кмете, кмете
12:05- Любимец 13
13:30- Куче в чекмедже
14:50- Гунди
16:00- Съседката
17:20- Ну погоди
17:30- Ако можеш забрави
18:50- Пътят към София еп.1
19:50- На всеки километър с.2 еп.13
21:05- Сами сред вълци еп.4
22:30- Записки по българските въстания еп.5
23:20- Семейство Калинкови еп.1
Както виждате след петия ред е с един знак в страни, но за сега успях само толкова.
ПП.Никъде не открих напътствия за писане на видео аддон на Python3-Matrix,ако някой има желание да помогне с "темплейт" и малко напътствия съм готов да зашия балтон на това копче.
Публикации: 1,629
Теми: 18
Член от: Nov 2015
Репутация:
226
(01-03-2021, 01:36)zypy написа: Голяма забава!Новия ми код най накрая е готов(може би) за вкарване в приложението.
Код: #!/usr/bin/python env
import bs4
import re
import sys
from datetime import date
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://www.facebook.com/pg/pyrvaprograma/posts'
today = date.today()
d1 = today.strftime("%d.%m.%Y")
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers1 = page_soup.findAll("div" ,{"class":"text_exposed_root"})[0]
containers2 = page_soup.findAll("div" ,{"class":"text_exposed_root"})[1]
prg = containers1.p.prettify()
pr1 = prg.replace('<br/>', '/').replace('<span class="text_exposed_hide">', '').replace('</span>', '').replace('<span class="text_exposed_show">', '').replace('</p>','').replace('...','').replace('<p>','').replace('\t','').replace('\n','').replace('/','\n')
print(pr1)
prg = containers2.p.prettify()
pr2 = prg.replace('<br/>', '/').replace('<span class="text_exposed_hide">', '').replace('</span>', '').replace('<span class="text_exposed_show">', '').replace('</p>','').replace('...','').replace('<p>','').replace('\t','').replace('\n','').replace('/','\n')
print(pr2)
Код: zypy@localhost:~> python3 1p5.py
Неделя 28.02.2021
08:00- За къде пътувате
09:25- Мярка за неотклонение
10:50- Търся съпруг на мама
12:10- Зарево над Драва, част 1
13:35- Зарево над Драва, част 2
14:55- Баш майстора
16:00- Последно лято
17:20- Мъже
18:45- Кмете, кмете
20:05- Любимец 13
21:30- Куче в чекмедже
22:50- Гунди
Понеделник 01.03.2021
08:00- Последно лято
09:20- Мъже
10:45- Кмете, кмете
12:05- Любимец 13
13:30- Куче в чекмедже
14:50- Гунди
16:00- Съседката
17:20- Ну погоди
17:30- Ако можеш забрави
18:50- Пътят към София еп.1
19:50- На всеки километър с.2 еп.13
21:05- Сами сред вълци еп.4
22:30- Записки по българските въстания еп.5
23:20- Семейство Калинкови еп.1
Както виждате след петия ред е с един знак в страни, но за сега успях само толкова.
ПП.Никъде не открих напътствия за писане на видео аддон на Python3-Matrix,ако някой има желание да помогне с "темплейт" и малко напътствия съм готов да зашия балтон на това копче.
Благодаря ти за труда! Преправих малко кода ти, за да са по-подредени и съм го имплементирал в добавката за Първа програма.
Публикации: 36
Теми: 2
Член от: Apr 2020
Репутация:
2
(03-03-2021, 21:03)martinstz написа: (01-03-2021, 01:36)zypy написа: Голяма забава!Новия ми код най накрая е готов(може би) за вкарване в приложението.
Код: #!/usr/bin/python env
import bs4
import re
import sys
from datetime import date
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://www.facebook.com/pg/pyrvaprograma/posts'
today = date.today()
d1 = today.strftime("%d.%m.%Y")
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers1 = page_soup.findAll("div" ,{"class":"text_exposed_root"})[0]
containers2 = page_soup.findAll("div" ,{"class":"text_exposed_root"})[1]
prg = containers1.p.prettify()
pr1 = prg.replace('<br/>', '/').replace('<span class="text_exposed_hide">', '').replace('</span>', '').replace('<span class="text_exposed_show">', '').replace('</p>','').replace('...','').replace('<p>','').replace('\t','').replace('\n','').replace('/','\n')
print(pr1)
prg = containers2.p.prettify()
pr2 = prg.replace('<br/>', '/').replace('<span class="text_exposed_hide">', '').replace('</span>', '').replace('<span class="text_exposed_show">', '').replace('</p>','').replace('...','').replace('<p>','').replace('\t','').replace('\n','').replace('/','\n')
print(pr2)
Код: zypy@localhost:~> python3 1p5.py
Неделя 28.02.2021
08:00- За къде пътувате
09:25- Мярка за неотклонение
10:50- Търся съпруг на мама
12:10- Зарево над Драва, част 1
13:35- Зарево над Драва, част 2
14:55- Баш майстора
16:00- Последно лято
17:20- Мъже
18:45- Кмете, кмете
20:05- Любимец 13
21:30- Куче в чекмедже
22:50- Гунди
Понеделник 01.03.2021
08:00- Последно лято
09:20- Мъже
10:45- Кмете, кмете
12:05- Любимец 13
13:30- Куче в чекмедже
14:50- Гунди
16:00- Съседката
17:20- Ну погоди
17:30- Ако можеш забрави
18:50- Пътят към София еп.1
19:50- На всеки километър с.2 еп.13
21:05- Сами сред вълци еп.4
22:30- Записки по българските въстания еп.5
23:20- Семейство Калинкови еп.1
Както виждате след петия ред е с един знак в страни, но за сега успях само толкова.
ПП.Никъде не открих напътствия за писане на видео аддон на Python3-Matrix,ако някой има желание да помогне с "темплейт" и малко напътствия съм готов да зашия балтон на това копче.
Благодаря ти за труда! Преправих малко кода ти, за да са по-подредени и съм го имплементирал в добавката за Първа програма.
Мартине, благодаря за чудесната работа . Имам едно предложение и един бъг, линка на FHD не тръгва и май крашва приложението, като се има предвид какви са филмите аз лично бих го махнал този линк,няколко пъти съм пробвал с него качеството е по лошо от SD.Но твоя воля.
EPG- то не се вижда след 18-19 часа защото няма място, предлагам да се махне надписа отгоре за SD FHD , ще се освободят още редове. Или нещо друго ако измислиш...
Публикации: 1,629
Теми: 18
Член от: Nov 2015
Репутация:
226
(04-03-2021, 21:04)zypy написа: (03-03-2021, 21:03)martinstz написа: (01-03-2021, 01:36)zypy написа: Голяма забава!Новия ми код най накрая е готов(може би) за вкарване в приложението.
Код: #!/usr/bin/python env
import bs4
import re
import sys
from datetime import date
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://www.facebook.com/pg/pyrvaprograma/posts'
today = date.today()
d1 = today.strftime("%d.%m.%Y")
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers1 = page_soup.findAll("div" ,{"class":"text_exposed_root"})[0]
containers2 = page_soup.findAll("div" ,{"class":"text_exposed_root"})[1]
prg = containers1.p.prettify()
pr1 = prg.replace('<br/>', '/').replace('<span class="text_exposed_hide">', '').replace('</span>', '').replace('<span class="text_exposed_show">', '').replace('</p>','').replace('...','').replace('<p>','').replace('\t','').replace('\n','').replace('/','\n')
print(pr1)
prg = containers2.p.prettify()
pr2 = prg.replace('<br/>', '/').replace('<span class="text_exposed_hide">', '').replace('</span>', '').replace('<span class="text_exposed_show">', '').replace('</p>','').replace('...','').replace('<p>','').replace('\t','').replace('\n','').replace('/','\n')
print(pr2)
Код: zypy@localhost:~> python3 1p5.py
Неделя 28.02.2021
08:00- За къде пътувате
09:25- Мярка за неотклонение
10:50- Търся съпруг на мама
12:10- Зарево над Драва, част 1
13:35- Зарево над Драва, част 2
14:55- Баш майстора
16:00- Последно лято
17:20- Мъже
18:45- Кмете, кмете
20:05- Любимец 13
21:30- Куче в чекмедже
22:50- Гунди
Понеделник 01.03.2021
08:00- Последно лято
09:20- Мъже
10:45- Кмете, кмете
12:05- Любимец 13
13:30- Куче в чекмедже
14:50- Гунди
16:00- Съседката
17:20- Ну погоди
17:30- Ако можеш забрави
18:50- Пътят към София еп.1
19:50- На всеки километър с.2 еп.13
21:05- Сами сред вълци еп.4
22:30- Записки по българските въстания еп.5
23:20- Семейство Калинкови еп.1
Както виждате след петия ред е с един знак в страни, но за сега успях само толкова.
ПП.Никъде не открих напътствия за писане на видео аддон на Python3-Matrix,ако някой има желание да помогне с "темплейт" и малко напътствия съм готов да зашия балтон на това копче.
Благодаря ти за труда! Преправих малко кода ти, за да са по-подредени и съм го имплементирал в добавката за Първа програма.
Мартине, благодаря за чудесната работа . Имам едно предложение и един бъг, линка на FHD не тръгва и май крашва приложението, като се има предвид какви са филмите аз лично бих го махнал този линк,няколко пъти съм пробвал с него качеството е по лошо от SD.Но твоя воля.
EPG- то не се вижда след 18-19 часа защото няма място, предлагам да се махне надписа отгоре за SD FHD , ще се освободят още редове. Или нещо друго ако измислиш...
Ами то и аз не виждам разлика, а и няма логика да има, като си има предвид какви филми дават, между двата стрийма, та може и да махна единия. Колкото до виждането на цялата програма, пробвай следното: Kodi - Settings - Interface - Skin - Configure skin... - General - Enable auto scrooling for plot & review. като го разрешиш, там, където излиза програмата, ще почне да се скрулва и ще се види цялата.
Публикации: 36
Теми: 2
Член от: Apr 2020
Репутация:
2
10-03-2021, 21:35
(Последна редакция: Преди 10-03-2021, 21:36 от zypy.)
Имам нужда от напътствие.Написах това:
Код: #!/usr/bin/python env
import bs4
import re
import sys
from datetime import date
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://bnt.bg/program'
today = date.today()
d = today.strftime("%Y%m%d")
s = 'in-tabs-descr tab tab-holder-'
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers = page_soup.find("div" ,{"class":s+d})
con = containers.findAll('span')
Което показва този резултат:
Код: [<span class="hour">6:00</span>, <span class="name">Денят започва</span>, <span class="type">сутрешен блок с Христина Христова</span>, <span class="hour">9:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">9:05</span>, <span class="name">100% будни</span>, <span class="type"></span>, <span class="hour">11:00</span>, <span class="name">Култура.БГ</span>, <span class="type"></span>, <span class="hour">12:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">12:35</span>, <span class="name">Новини на турски език</span>, <span class="type"></span>, <span class="hour">12:45</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">13:00</span>, <span class="name">Последният печели</span>, <span class="type">забавно-познавателно семейно куиз шоу/п/</span>, <span class="hour">14:00</span>, <span class="name">Бързо, лесно, вкусно</span>, <span class="type"></span>, <span class="hour">14:30</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">14:45</span>, <span class="name">Румбата, аз и Роналдо</span>, <span class="type">детски филм /3 епизод/</span>, <span class="hour">15:40</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">16:00</span>, <span class="name">Парламентарни избори 2021: Диспут</span>, <span class="type"></span>, <span class="hour">16:45</span>, <span class="name">Светът и ние</span>, <span class="type"></span>, <span class="hour">17:00</span>, <span class="name">България в 60 минути с Мариана Векилска</span>, <span class="type"></span>, <span class="hour">18:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">18:30</span>, <span class="name">Още от деня</span>, <span class="type">коментарно предаване</span>, <span class="hour">19:00</span>, <span class="name">Последният печели</span>, <span class="type">забавно-познавателно семейно куиз шоу</span>, <span class="hour">20:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">20:30</span>, <span class="name">Парламентарни избори 2021: Гласовете на България</span>, <span class="type"></span>, <span class="hour">20:45</span>, <span class="name">Спортни новини</span>, <span class="type"></span>, <span class="hour">21:00</span>, <span class="name">Бизнес.БГ</span>, <span class="type"></span>, <span class="hour">21:30</span>, <span class="name">България от край до край 11</span>, <span class="type"></span>, <span class="hour">22:00</span>, <span class="name">Концерт на Виктория, българският представител на Евровизия 2021г.</span>, <span class="type"></span>, <span class="hour">23:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">23:30</span>, <span class="name">Събота вечер с БНТ</span>, <span class="type">/п/</span>, <span class="hour">0:30</span>, <span class="name">Светът и ние</span>, <span class="type">/п/</span>, <span class="hour">0:45</span>, <span class="name">100% будни</span>, <span class="type">/п/</span>, <span class="hour">2:40</span>, <span class="name">Култура.БГ</span>, <span class="type">/п/</span>, <span class="hour">3:40</span>, <span class="name">Бразди</span>, <span class="type">/п/</span>, <span class="hour">4:10</span>, <span class="name">Библиотеката</span>, <span class="type">/п/</span>, <span class="hour">5:10</span>, <span class="name">72-те най-сладки животни</span>, <span class="type">документална поредица</span>, <span class="hour">5:40</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>]
Което е добре защото ,от програмата за седмицата, показва точно деня, и са премахнати много тагове и други.Но от тук на татък опитах вичко което се сетих до сега за да изкарам текста, само грешки ми дава , след четири дена опити мисля че имам нужда от подсказване!
Вижте и погрешните ми опити-
Код: for container in con:
H = container.find('hour').text
N = container.find('name').text
T = container.find('type').text
print(H +" "+N +" "+ T)
и това
Код: co = con.re.compile('name">(.+?)<').findAll(data)
for N in co:
#тука имаше и други неща
print (N)
Публикации: 1,629
Теми: 18
Член от: Nov 2015
Репутация:
226
(10-03-2021, 21:35)zypy написа: Имам нужда от напътствие.Написах това:
Код: #!/usr/bin/python env
import bs4
import re
import sys
from datetime import date
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://bnt.bg/program'
today = date.today()
d = today.strftime("%Y%m%d")
s = 'in-tabs-descr tab tab-holder-'
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers = page_soup.find("div" ,{"class":s+d})
con = containers.findAll('span')
Което показва този резултат:
Код: [<span class="hour">6:00</span>, <span class="name">Денят започва</span>, <span class="type">сутрешен блок с Христина Христова</span>, <span class="hour">9:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">9:05</span>, <span class="name">100% будни</span>, <span class="type"></span>, <span class="hour">11:00</span>, <span class="name">Култура.БГ</span>, <span class="type"></span>, <span class="hour">12:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">12:35</span>, <span class="name">Новини на турски език</span>, <span class="type"></span>, <span class="hour">12:45</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">13:00</span>, <span class="name">Последният печели</span>, <span class="type">забавно-познавателно семейно куиз шоу/п/</span>, <span class="hour">14:00</span>, <span class="name">Бързо, лесно, вкусно</span>, <span class="type"></span>, <span class="hour">14:30</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">14:45</span>, <span class="name">Румбата, аз и Роналдо</span>, <span class="type">детски филм /3 епизод/</span>, <span class="hour">15:40</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">16:00</span>, <span class="name">Парламентарни избори 2021: Диспут</span>, <span class="type"></span>, <span class="hour">16:45</span>, <span class="name">Светът и ние</span>, <span class="type"></span>, <span class="hour">17:00</span>, <span class="name">България в 60 минути с Мариана Векилска</span>, <span class="type"></span>, <span class="hour">18:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">18:30</span>, <span class="name">Още от деня</span>, <span class="type">коментарно предаване</span>, <span class="hour">19:00</span>, <span class="name">Последният печели</span>, <span class="type">забавно-познавателно семейно куиз шоу</span>, <span class="hour">20:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">20:30</span>, <span class="name">Парламентарни избори 2021: Гласовете на България</span>, <span class="type"></span>, <span class="hour">20:45</span>, <span class="name">Спортни новини</span>, <span class="type"></span>, <span class="hour">21:00</span>, <span class="name">Бизнес.БГ</span>, <span class="type"></span>, <span class="hour">21:30</span>, <span class="name">България от край до край 11</span>, <span class="type"></span>, <span class="hour">22:00</span>, <span class="name">Концерт на Виктория, българският представител на Евровизия 2021г.</span>, <span class="type"></span>, <span class="hour">23:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">23:30</span>, <span class="name">Събота вечер с БНТ</span>, <span class="type">/п/</span>, <span class="hour">0:30</span>, <span class="name">Светът и ние</span>, <span class="type">/п/</span>, <span class="hour">0:45</span>, <span class="name">100% будни</span>, <span class="type">/п/</span>, <span class="hour">2:40</span>, <span class="name">Култура.БГ</span>, <span class="type">/п/</span>, <span class="hour">3:40</span>, <span class="name">Бразди</span>, <span class="type">/п/</span>, <span class="hour">4:10</span>, <span class="name">Библиотеката</span>, <span class="type">/п/</span>, <span class="hour">5:10</span>, <span class="name">72-те най-сладки животни</span>, <span class="type">документална поредица</span>, <span class="hour">5:40</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>]
Което е добре защото ,от програмата за седмицата, показва точно деня, и са премахнати много тагове и други.Но от тук на татък опитах вичко което се сетих до сега за да изкарам текста, само грешки ми дава , след четири дена опити мисля че имам нужда от подсказване!
Вижте и погрешните ми опити-
Код: for container in con:
H = container.find('hour').text
N = container.find('name').text
T = container.find('type').text
print(H +" "+N +" "+ T)
и това
Код: co = con.re.compile('name">(.+?)<').findAll(data)
for N in co:
#тука имаше и други неща
print (N)
Най-простият начин е така:
data = str(con).replace('><' , '> <')
match = re.compile('"hour">(.+?)<.+?"name">(.+?)<.+?"type">(.+?)<').findall(data)
for hour, name, type in match:
#и тук си ги нареждаш както си искаш, примерно:
desc = hour.strip() + ' ' + name.strip() + ' - ' + type.strip() + ' \n'
print (desc)
Публикации: 36
Теми: 2
Член от: Apr 2020
Репутация:
2
11-03-2021, 10:33
(11-03-2021, 01:24)martinstz написа: (10-03-2021, 21:35)zypy написа: Имам нужда от напътствие.Написах това:
Код: #!/usr/bin/python env
import bs4
import re
import sys
from datetime import date
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://bnt.bg/program'
today = date.today()
d = today.strftime("%Y%m%d")
s = 'in-tabs-descr tab tab-holder-'
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers = page_soup.find("div" ,{"class":s+d})
con = containers.findAll('span')
Което показва този резултат:
Код: [<span class="hour">6:00</span>, <span class="name">Денят започва</span>, <span class="type">сутрешен блок с Христина Христова</span>, <span class="hour">9:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">9:05</span>, <span class="name">100% будни</span>, <span class="type"></span>, <span class="hour">11:00</span>, <span class="name">Култура.БГ</span>, <span class="type"></span>, <span class="hour">12:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">12:35</span>, <span class="name">Новини на турски език</span>, <span class="type"></span>, <span class="hour">12:45</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">13:00</span>, <span class="name">Последният печели</span>, <span class="type">забавно-познавателно семейно куиз шоу/п/</span>, <span class="hour">14:00</span>, <span class="name">Бързо, лесно, вкусно</span>, <span class="type"></span>, <span class="hour">14:30</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">14:45</span>, <span class="name">Румбата, аз и Роналдо</span>, <span class="type">детски филм /3 епизод/</span>, <span class="hour">15:40</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">16:00</span>, <span class="name">Парламентарни избори 2021: Диспут</span>, <span class="type"></span>, <span class="hour">16:45</span>, <span class="name">Светът и ние</span>, <span class="type"></span>, <span class="hour">17:00</span>, <span class="name">България в 60 минути с Мариана Векилска</span>, <span class="type"></span>, <span class="hour">18:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">18:30</span>, <span class="name">Още от деня</span>, <span class="type">коментарно предаване</span>, <span class="hour">19:00</span>, <span class="name">Последният печели</span>, <span class="type">забавно-познавателно семейно куиз шоу</span>, <span class="hour">20:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">20:30</span>, <span class="name">Парламентарни избори 2021: Гласовете на България</span>, <span class="type"></span>, <span class="hour">20:45</span>, <span class="name">Спортни новини</span>, <span class="type"></span>, <span class="hour">21:00</span>, <span class="name">Бизнес.БГ</span>, <span class="type"></span>, <span class="hour">21:30</span>, <span class="name">България от край до край 11</span>, <span class="type"></span>, <span class="hour">22:00</span>, <span class="name">Концерт на Виктория, българският представител на Евровизия 2021г.</span>, <span class="type"></span>, <span class="hour">23:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">23:30</span>, <span class="name">Събота вечер с БНТ</span>, <span class="type">/п/</span>, <span class="hour">0:30</span>, <span class="name">Светът и ние</span>, <span class="type">/п/</span>, <span class="hour">0:45</span>, <span class="name">100% будни</span>, <span class="type">/п/</span>, <span class="hour">2:40</span>, <span class="name">Култура.БГ</span>, <span class="type">/п/</span>, <span class="hour">3:40</span>, <span class="name">Бразди</span>, <span class="type">/п/</span>, <span class="hour">4:10</span>, <span class="name">Библиотеката</span>, <span class="type">/п/</span>, <span class="hour">5:10</span>, <span class="name">72-те най-сладки животни</span>, <span class="type">документална поредица</span>, <span class="hour">5:40</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>]
Което е добре защото ,от програмата за седмицата, показва точно деня, и са премахнати много тагове и други.Но от тук на татък опитах вичко което се сетих до сега за да изкарам текста, само грешки ми дава , след четири дена опити мисля че имам нужда от подсказване!
Вижте и погрешните ми опити-
Код: for container in con:
H = container.find('hour').text
N = container.find('name').text
T = container.find('type').text
print(H +" "+N +" "+ T)
и това
Код: co = con.re.compile('name">(.+?)<').findAll(data)
for N in co:
#тука имаше и други неща
print (N)
Най-простият начин е така:
data = str(con).replace('><' , '> <')
match = re.compile('"hour">(.+?)<.+?"name">(.+?)<.+?"type">(.+?)<').findall(data)
for hour, name, type in match:
#и тук си ги нареждаш както си искаш, примерно:
desc = hour.strip() + ' ' + name.strip() + ' - ' + type.strip() + ' \n'
print (desc)
Хубаво е да разбера защо не се получи примен, но и така става
Публикации: 1,629
Теми: 18
Член от: Nov 2015
Репутация:
226
(11-03-2021, 10:33)zypy написа: (11-03-2021, 01:24)martinstz написа: (10-03-2021, 21:35)zypy написа: Имам нужда от напътствие.Написах това:
Код: #!/usr/bin/python env
import bs4
import re
import sys
from datetime import date
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url='https://bnt.bg/program'
today = date.today()
d = today.strftime("%Y%m%d")
s = 'in-tabs-descr tab tab-holder-'
uClient = uReq(my_url)
page_soup = soup(uClient.read(), "html.parser")
uClient.close()
containers = page_soup.find("div" ,{"class":s+d})
con = containers.findAll('span')
Което показва този резултат:
Код: [<span class="hour">6:00</span>, <span class="name">Денят започва</span>, <span class="type">сутрешен блок с Христина Христова</span>, <span class="hour">9:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">9:05</span>, <span class="name">100% будни</span>, <span class="type"></span>, <span class="hour">11:00</span>, <span class="name">Култура.БГ</span>, <span class="type"></span>, <span class="hour">12:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">12:35</span>, <span class="name">Новини на турски език</span>, <span class="type"></span>, <span class="hour">12:45</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">13:00</span>, <span class="name">Последният печели</span>, <span class="type">забавно-познавателно семейно куиз шоу/п/</span>, <span class="hour">14:00</span>, <span class="name">Бързо, лесно, вкусно</span>, <span class="type"></span>, <span class="hour">14:30</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">14:45</span>, <span class="name">Румбата, аз и Роналдо</span>, <span class="type">детски филм /3 епизод/</span>, <span class="hour">15:40</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>, <span class="hour">16:00</span>, <span class="name">Парламентарни избори 2021: Диспут</span>, <span class="type"></span>, <span class="hour">16:45</span>, <span class="name">Светът и ние</span>, <span class="type"></span>, <span class="hour">17:00</span>, <span class="name">България в 60 минути с Мариана Векилска</span>, <span class="type"></span>, <span class="hour">18:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">18:30</span>, <span class="name">Още от деня</span>, <span class="type">коментарно предаване</span>, <span class="hour">19:00</span>, <span class="name">Последният печели</span>, <span class="type">забавно-познавателно семейно куиз шоу</span>, <span class="hour">20:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">20:30</span>, <span class="name">Парламентарни избори 2021: Гласовете на България</span>, <span class="type"></span>, <span class="hour">20:45</span>, <span class="name">Спортни новини</span>, <span class="type"></span>, <span class="hour">21:00</span>, <span class="name">Бизнес.БГ</span>, <span class="type"></span>, <span class="hour">21:30</span>, <span class="name">България от край до край 11</span>, <span class="type"></span>, <span class="hour">22:00</span>, <span class="name">Концерт на Виктория, българският представител на Евровизия 2021г.</span>, <span class="type"></span>, <span class="hour">23:00</span>, <span class="name">По света и у нас</span>, <span class="type"></span>, <span class="hour">23:30</span>, <span class="name">Събота вечер с БНТ</span>, <span class="type">/п/</span>, <span class="hour">0:30</span>, <span class="name">Светът и ние</span>, <span class="type">/п/</span>, <span class="hour">0:45</span>, <span class="name">100% будни</span>, <span class="type">/п/</span>, <span class="hour">2:40</span>, <span class="name">Култура.БГ</span>, <span class="type">/п/</span>, <span class="hour">3:40</span>, <span class="name">Бразди</span>, <span class="type">/п/</span>, <span class="hour">4:10</span>, <span class="name">Библиотеката</span>, <span class="type">/п/</span>, <span class="hour">5:10</span>, <span class="name">72-те най-сладки животни</span>, <span class="type">документална поредица</span>, <span class="hour">5:40</span>, <span class="name">Телепазарен прозорец</span>, <span class="type"></span>]
Което е добре защото ,от програмата за седмицата, показва точно деня, и са премахнати много тагове и други.Но от тук на татък опитах вичко което се сетих до сега за да изкарам текста, само грешки ми дава , след четири дена опити мисля че имам нужда от подсказване!
Вижте и погрешните ми опити-
Код: for container in con:
H = container.find('hour').text
N = container.find('name').text
T = container.find('type').text
print(H +" "+N +" "+ T)
и това
Код: co = con.re.compile('name">(.+?)<').findAll(data)
for N in co:
#тука имаше и други неща
print (N)
Най-простият начин е така:
data = str(con).replace('><' , '> <')
match = re.compile('"hour">(.+?)<.+?"name">(.+?)<.+?"type">(.+?)<').findall(data)
for hour, name, type in match:
#и тук си ги нареждаш както си искаш, примерно:
desc = hour.strip() + ' ' + name.strip() + ' - ' + type.strip() + ' \n'
print (desc)
Хубаво е да разбера защо не се получи примен, но и така става
Ами тук: for container in con: - в con са всички span тагове на отделни редове и няма как да присвоиш три едновременно (то има, но става вече сложно, а идеята е да е по-простичко), тъй като цикълът обхожда ред по ред, а при co = con.re.compile('name">(.+?)<').findAll(data), трябва да ти е co = re.compile('name">(.+?)<').findAll(str(con)), но то това е почти същото, като това, което аз ти писах.
|