Top Info
najistotniejsze informacje z tematu |
Download/Info |
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
SoBeK Niemowa
Dołączył: 13 Gru 2006 Posty: 8
|
Wysłany: 31 Mar 2010 22:50 Temat postu: |
|
|
Dodam jeszcze jedna ciekawostke. Mam Palmtopa z systemem win6 i jest do niego program "TvV", ktory tak jak mTV sciaga informacje o programach TV. Co ciekawe - ten program byl aktualizowany w 2008 roku i pobral mi dzisiaj program tv na nastepny tydzien. Nie wiem z jakiego serwera korzysta, ale repertuar jest aktualny i pobrany lacznie z opisem kazdego programu/filmu i aktorami.
Dlatego nie wiem co jest w 100% powodem niedzialania mTV. Ktos wspomnial wczesniej, ze do konca marca powinien spowrotem ruszyc. Jak to mozliwe skoro glowne serwery zmienily oprogramowanie? No i co jest powodem, ze tamten program caly czas pobiera swieze dane? |
|
Powrót do góry |
|
|
Adv Bot
Dołączył: 01 Sty 1970 Posty:
|
Wysłany: 13 Maj 2024 8:22 Temat postu: Reklama |
|
|
W TechnoVolt znajdziesz energooszczędne oświetlenie hal i pomieszczeń magazynowo-produkcyjnych w profesjonalnym wykonaniu.
Wieloletnie doświadczenie i atrakcyjne ceny gwarantują u nas najlepszą ofertę na rynku w branży elektrycznej.
Stosujemy najnowocześniejsze technologie i wysokiej jakości produkty.
Dla inwestycji naszych klientów dostarczamy i wykonujemy nowoczesne oświetlenie energooszczędne (LED) z zastosowaniem opraw: dekoracyjnych, rastrowych, hermetycznych, przemysłowych, projektorów oraz linii świetlnych.
Kontakt z nami i informacje na naszej stronie www.TechnoVolt.pl
*** NOWOŚĆ ***
Kompensacja mocy biernej - obniż swoje rachunki za prąd!
Usługa dostępna na terenie całego kraju
Zredukuj opłaty za prąd ::
Płać mniej za prąd
|
|
Powrót do góry |
|
|
piotr.007 Stukacz
Dołączył: 25 Maj 2005 Posty: 14 Skąd: Karpacz
|
Wysłany: 01 Kwi 2010 2:46 Temat postu: |
|
|
Dzięki za linki do archiwum , juz ogladam
Koncepcja z proxy jest oczywiście "jedyna słuszna", port.hu aż się prosi zostac mirrorem, ale obawiam sie oficjalnej reakcji wp na taki publiczny mirror.
Sam mtv.dll jest ciężki do ugryzienia, udało mi sie tylko zrobić dumpa z pamięci i potwierdzić, ze w dll są zaszyte "na sztywno": adres strony plus link
GET (..) index_druk.html?T[page]=0&T[station]=
a nastepnie, również "na sztywno" co ma być wycięte ,a co zostaje dla mirandy (dla każdej strony osobna lista).
Zasada ta sama co dla pogodynki, tylko wykonanie (niestety) inne. Każda zmiana strony źródłowej to katastrofa. Ostatnia działająca była chyba wp.
Czeski plugin tvprogram, jest w ogóle do bani , bo nie tylko wpisane na sztywno adres strony, ale i listę kanałów (zarrombista, chyba ze 20 szt), a na wszystkim trzyma łapę jakaś uri sp. zoo. _________________ pozdr
Piotr |
|
Powrót do góry |
|
|
piotr.007 Stukacz
Dołączył: 25 Maj 2005 Posty: 14 Skąd: Karpacz
|
Wysłany: 02 Kwi 2010 19:34 Temat postu: |
|
|
kroku napisał: |
SoBek, imo zamiast narzekać to napisz skrypt do mbota do pobierania programu |
mbota tez nie umiem, ale mam juz 50% konwersji nowej strony programu wp na stary.
mTV już wyświetla co mu każę - tzn opanowałem zawartośc strony www żeby mtv ją "zeżarł".
pojedyncza linia to cos takiego :
Cytat: |
(php)
<tr><td align=\"right\" nowrap><b> $czas </b></td><td valign=\"top\"><b> $NewWpTvPrgname </b><br><span class=\"SGinfo\"> $extraopis </span> </td></tr> |
jakiekolwiek odstępstwa w kodzie powodują niedziałanie wtyczki. Tak została napisana i już.
Trzeba tylko "sprywatyzować" sobie adres tv.wp.pl żeby pokazywał nie to co trzeba (tzn moją stonkę) i jadzieem dalej.
Niestety jest ona jeszcze statyczna (1 program na jeden dzien), dopiero się biorę za parsowanie.
Listing / wybór nowych programów też leży w lesie, może do poniedziałku zrobię.
Dziękuję za poratowanie archiwalnymi stronami -przynajmniej wiem czego szukać na nowych.
czyli .... miranda for ever...
Edit:
działa. Ściąga programy (choć zdarzają się śmieci typu nbsp i /p
http://img249.imageshack.us/img249/6128/prg.th.gif
http://img249.imageshack.us/img249/6128/prg.th.gif _________________ pozdr
Piotr |
|
Powrót do góry |
|
|
piotr.007 Stukacz
Dołączył: 25 Maj 2005 Posty: 14 Skąd: Karpacz
|
Wysłany: 03 Kwi 2010 7:17 Temat postu: |
|
|
piotr.007 napisał: |
czyli .... miranda for ever... |
Ponieważ już wczoraj pojawili się pierwsi chętni, poniżej krótkie howto:
A) Opis problemu :
a1) Wtyczka mtv przestała funkcjonować zaraz po tym,jak wp zmieniło sobie układ strony www z programem. Poprzednie "źródełka" padły już dawno temu. Dlaczego?
Odpowiedź:
Wtyczka "normalnie " zagląda na jakąś zwykła stronę www i sobie coś ściąga. Dla wp pl wtyczka wyszukuje w kodzie strony np
http://tv.wp.pl/program.html?stid=17&date=2010-04-03&time=00:00
gdzie stid=nr programu, date i time- wiadomo,
określonych ciągów znaków:
czas : align="right" nowrap><b>02:25</b>
tytuł :td valign="top"><b>ByL taki dzien 14 lutego </b>
opis : span class="SGinfo">Przypomnienie....
i z nich "robi sobie" treść programu.
Możliwości rozwiązania :
1) Zmienić szukane ciągi... no i tu kłopot. Wtyczka jest ciężko spakowana jakimś upx dla dll i jakakolwiek ingerencja w środek przerasta moje możliwości... (Jakie zdanie ma na ten temat autor- to tego nie wiem, ale udostępnienie swojego programu za free niekoniecznie oznacza pozwolenie na dłubanie w nim. Może jednak by się nie obraził).
Gdyby były źródła, wystarczyło by poprawić to i owo i śmigała by nie tylko wp ale jeszcze np epf, interia czy telemagazyn.
2) oszukać wtyczkę, żeby pobierała program z innego miejsca - no i tu można poszaleć. Zapewne sporo z was spotkało się z wirusami.. więc trzeba zrobić dokładnie to samo - oszukać ...
B) Solucja
Wymagany serwer proxy/www z Apaczem+php.
Adres serwera w solucji to 10.0.0.2. Jest to adres prywatny, tzn że serwer znajduje się w mojej sieci lokalnej i nie dobijecie się do niego.. Potrzebny byłby serwer dla wszystkich, niestety takim nie dysponuję. Odpadają również pomysły, żeby wam udostępnić (nie mam możliwości!), kupić, wypożyczyć itd.
1. Edytujemy ulubiony przez wiruski plik (win Xp, dla innych ścieżka może być inna)
C:\WINDOWS\system32\drivers\etc\hosts.
powinien zawierać oprócz opisu tylko wpis
127.0.0.1 localhost
dopisujemy
10.0.0.2 tv.wp.pl
2.w konfiguracji apacha sites-available dopisujemy vhost tvwppl
<VirtualHost *>
ServerAdmin webmaster@example.net
ServerName tv.wp.pl
DirectoryIndex index.html index.php
DocumentRoot /var/www/tvwppl
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
ErrorLog /var/log/apache2/error_www.tvwppl.log
</VirtualHost>
3. Tworzymy lokalizację wskazaną powyżej /var/www/tvwppl , możemy zrobic jakis index.html
tworzymy tam .htaccess , dopisujemy w nim
<Files index_druk.html>
AddType application/x-httpd-php .html
</Files>
żeby zadziałał kod php wewnątrz html
4. Restarcik apacza, komputerka najlepiej też i sprawdzamy, czy po wpisaniu w przeglądarkę tv.wp.pl pojawia się nasza strona
5. jeśli się udało, tworzymy w tym katalogu plik index_druk.html i wpisujemy jego zawartość
(sorki, nie umiem tutaj załącznika) będzie poniżej _________________ pozdr
Piotr |
|
Powrót do góry |
|
|
piotr.007 Stukacz
Dołączył: 25 Maj 2005 Posty: 14 Skąd: Karpacz
|
Wysłany: 03 Kwi 2010 7:21 Temat postu: |
|
|
piotr.007 napisał: |
załącznik będzie poniżej |
Cytat: |
<?php
function process_url( $url ) {
$processed_url = parse_url( $url );
$query_string = $processed_url[ 'query' ];
$query_string=str_replace("&", "&", $query_string );
$query_string = explode( '&', $query_string );
$args = array( ); // return array
foreach( $query_string as $chunk ) {
$chunk = explode( '=', $chunk );
if ( count( $chunk ) == 2 ) {
list ($key, $val) = $chunk;
if ($val!='')
$args [$key]=urldecode($val);
}
}
return $args;
}
######################################################
$PHPSELF ="??";
$PHPSELF = $_GET["PHP_SELF"];
$url = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$PHPSELF0='tv.wp.pl/program.html';
$PHPSELF2="" ;
$stid="1";
$sdate="2010-04-02";
$ListaArg = process_url( $url );
while (list($keys,$values) = each($ListaArg)) {
if ($keys=='T[station]') $stid=$values;
if ($keys=='T[date]') $sdate=$values;
}
$PHPSELF2="?stid=".$stid."&date=".$sdate."&time=00:00";
$PHPSELF= "http://".$PHPSELF0.$PHPSELF2;
$NewUrl=$PHPSELF;
#
print "<html>";
print "<body> ";
print "<table border=\"1\" rules=\"all\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\"><tbody>";
### odczyt prg
$znaleziony=0;
$xx=0;
$buffer='';
$$linia='';
$handle = fopen($NewUrl, "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$xx++;
if ($znaleziony==0) $findme='class="programL';
if ($znaleziony==1) $findme=':';
if ($znaleziony==2) $findme='span';
if ($znaleziony==3) $findme='<h4><a title';
if ($znaleziony==4) $findme='<p class="opis">';
if ($znaleziony==5) $findme='<a title="';
$pos = strpos($buffer, $findme);
if ($pos == true){
$znaleziony++;
$znaleziony = $znaleziony % 6 ;
}
# 154 coby poza naglowkim options
if (($xx >154)&&($znaleziony>0)) {
$linia=trim($buffer);
$ss=0;
$ee=0;
$tytulek="";
$opisik ="";
if ($znaleziony==2) {
$czas= substr ($linia,8,5);
}
if ($znaleziony==4) {
$ss= strpos($linia, '<h4><a title=')+14;
$ee= strpos($linia, 'href')-16;
if (($ss>0)&&($ee)) {
$tytulek= substr ($linia,$ss,$ee);
}
}
if ($znaleziony==5) {
if (strpos($linia,'class')==0) {;
$opisik= substr ($linia,0,222);
}
}
if ($znaleziony==0) print "\n</td></tr>" ;
if ($znaleziony==1) print " ";
if ($znaleziony==2) print "\n<tr><td align=\"right\" nowrap><b> $czas </b></td>" ;
if ($znaleziony==3) print "" ;
if (($znaleziony==4)&&($tytulek >"!")) print " \n</b></td><td valign=\"top\"><b> $tytulek </b>";
if (($znaleziony==5)&&($opisik >"!")) print " \n<br><span class=\"SGinfo\"> $opisik </span>" ;
$tytulek="";
$opisik ="";
}
}
fclose($handle);
}
print "\n<tr><td align=\"right\" nowrap><b> 05:55 </b></td><td valign=\"top\"><b> -.- </b><br><span class=\"SGinfo\"> $NewUrl </span> </td></tr>";
print "\n</tbody></table></body></html>";
?>
|
_________________ pozdr
Piotr |
|
Powrót do góry |
|
|
piotr.007 Stukacz
Dołączył: 25 Maj 2005 Posty: 14 Skąd: Karpacz
|
Wysłany: 03 Kwi 2010 7:36 Temat postu: |
|
|
[quote="piotr.007"]załącznik [quote]
Załącznik pobiera aktualną stronę programu z prawdziwej strony tv wp pl i tworzy mocno uproszczoną jej wersję w lokalizacji do której sięga wtyczka.
Ściąga stronę, "olewa " pierwszych kilkadziesiąt linii (straszna kobyły), a potem rozpoczyna poszukiwania
Cytat: |
if ($znaleziony==0) $findme='class="programL';
if ($znaleziony==1) $findme=':';
if ($znaleziony==2) $findme='span';
if ($znaleziony==3) $findme='<h4><a title';
if ($znaleziony==4) $findme='<p class="opis">';
if ($znaleziony==5) $findme='<a title="';
|
szuka ciągu class="programL oznaczającego początek linijki z programem, potem: żeby wydłubać czas, potem h4 żeby znaleźć tytuł, i "opis" żeby był opis.
Ponieważ prawdziwą stronę tworzy automat, założyłem że te wpisy będą zawsze.
Wrzuca znaleziony teksty do zmiennych i tworzy z nich "stronkę dla wtyczki. i już.
Pomysł w sumie ten sam, jaki wykorzystał Bankrut, ale ja nie umiem zrobić dll. Mój php też kiepski, pewnie znajdzie się za chwilę grono speców,którzy.... A proszę bez przeszkód korzystać z mojego pomysłu, A najlepiej, gdyby ktos "od wtyczek" umiał go wykorzystać i napisać nową ale "konfigurowalną"
I po co to wszystko?
Bo jestem leniwy i nie cierpię reklam _________________ pozdr
Piotr |
|
Powrót do góry |
|
|
MarkoB Gaduła
Dołączył: 06 Wrz 2003 Posty: 45
|
Wysłany: 03 Kwi 2010 12:00 Temat postu: |
|
|
Wrzucam link do rozpakowanej wtyczki mTV.dll
Jak nie uda się przerobić to zawsze można podmienić w niej domene tv.wp.pl na inna tej samej długości i użyć php od piotr.007
http://uploading.com/files/bb19d919/mTV.dll/ |
|
Powrót do góry |
|
|
piotr.007 Stukacz
Dołączył: 25 Maj 2005 Posty: 14 Skąd: Karpacz
|
Wysłany: 03 Kwi 2010 20:04 Temat postu: |
|
|
MarkoB napisał: |
użyć php od piotr.007 |
no pięknie...
grzebulania ciąg dalszy :
wyszukiwanie programów dla serwisu tv wp pl
Stronka musi sie nazywać programy.html i zawierać kod
Cytat: |
-- Najpopularniejsze --<option></option>
<select>
<option value=""> </option>
<option value="85" id="B_Ale-Kino">Ale Kino!</option>
<option value="355" id="B_Animal-Planet">Animal Planet</option>
<option value="174" id="B_AXN">AXN</option>
<option value="418" id="B_AXN-Crime">AXN Crime</option>
<option value="416" id="B_AXN-Sci-fi">AXN Sci-fi</option>
<option value="449" id="B_BBC-CBeebies">BBC CBeebies</option>
<option value="448" id="B_BBC-Knowledge">BBC Knowledge</option>
...
<option value="59" id="C_ZDF-niem">ZDF (niem.)</option>
</select>
|
Stronkę zrobiłem statyczną, normalny byle jaki plik tekstowy, bez żadnych nagłówków, html, zero php, treśc od 4 linijki jest skopiowana żywcem ze strony z programami - z miejsca gdzie jest wybór programu.
Wyrżnąłem tylko początkowe (najpopularniejsze) bo i tak są potem zdublowane.
Gdyby udało się coś komuś z dll proszę dajcie znać, TiA, vice versa, i qui pro quo.
Mokrych jajek ! _________________ pozdr
Piotr |
|
Powrót do góry |
|
|
m4sh Niemowa
Dołączył: 13 Sty 2004 Posty: 9 Skąd: Bytom
|
Wysłany: 04 Kwi 2010 0:52 Temat postu: |
|
|
Zainspirowany ;) pracą użytkownika piotr.007, napisałem swój parser strony tv.wp.pl z własnymi udogodnieniami. To w dalszym ciągu ta sama zasada działania, ale lepiej się formatuje w mTV. Może jednak dla niektórych niestety w perlu. A oto kod:
cat index_druk.html
Cytat: |
#!/usr/bin/perl
use strict;
use WWW::Mechanize;
use CGI;
use Encode;
use Time::Simple;
my $koniec;
my $q = new CGI;
print $q->header(-charset=>'ISO-8859-2');
my $s = $q->param('T[station]');
my $d = $q->param('T[date]');
my $agent = WWW::Mechanize->new(timeout => 10);
$agent->get("http://tv.wp.pl/program.html?stid=$s&date=$d&time=00:00");
my @tr = $agent->content() =~ m|(<div class="programL">[\s\n\W\w]*?</div>.*?\n.*?</div>.*?\n.*?</div>)|g;
print qq{<html><body><table border="1" rules="all" cellpadding="3" cellspacing="0" width="100%"><tbody>\n<tr><td align="right" nowrap><b> </b></td>\n};
foreach (@tr) {
s/\n//g;
my ($godzina) = m!<strong>(.*?)</strong>!;
my ($tytul,$link) = m!<h4><a title="(.*?)" href="(.*?)" onclick!;
$tytul = encode("iso-8859-2", $tytul);
$tytul =~ s/"/\"/g;
$link = "\n<br>http://www.tv.wp.pl/$link";
my ($eng_tytul) = m! \((.*?)\)!;
$eng_tytul = "($eng_tytul)" if $eng_tytul;
my ($opis) = m!<p class="opis">\s*(.*?)</p>!;
$opis = encode("iso-8859-2", $opis);
$opis =~ s/(<.*?>|czytaj dalej\s*?»|\s{2,}| )/ /g;
$link = "" if not $opis;
my ($ekipa) = m!<p class="ekipa">\s*(.*?)</p>!;
$ekipa = encode("iso-8859-2", $ekipa);
$ekipa =~ s/<.*?>//g;
$ekipa =~ s/(\s{2,}| )/ /g;
my ($trwa) = m!<span>\((\d+) min.\)</span>!;
$koniec = Time::Simple->new($godzina)+$trwa*60+60*60; #tu może być problem z czaem letnim/zimowym (ale nie chciało mi się szukać mechanizmu stref dla Time::Simple)
print qq{<tr><td align="right" nowrap><b> $godzina </b></td>\n</b></td><td valign="top"><b> $tytul $eng_tytul </b>\n<br><span class="SGinfo">$opis<br>$ekipa (czas trwania: $trwa min) $link</span>\n};
}
print qq{<tr><td align="right" nowrap><b>};
print $koniec->format("%H:%M");
print qq{</b></td>\n</b></td><td valign="top"><b> Koniec programu </b>\n</tbody></table></body></html>};
|
Podobnie jak przy php zmuszamy apacha do wykonywania kodu np. poprzez:
cat .htaccess
Cytat: |
<Files index_druk.html>
AddHandler cgi-script .html
</Files>
|
_________________ -=m4sh=- [Powered by aTPa org.] |
|
Powrót do góry |
|
|
kameleongsm Niemowa
Dołączył: 27 Mar 2010 Posty: 6
|
Wysłany: 06 Kwi 2010 8:01 Temat postu: |
|
|
Czy komus działa sposób od piotr.007 na apaczu zainstalowanym pod windowsem, jesli tak to prosze o konfig do apacza ? |
|
Powrót do góry |
|
|
akslow Gaduła
Dołączył: 09 Lip 2005 Posty: 46
|
Wysłany: 07 Kwi 2010 1:30 Temat postu: |
|
|
Czy jest jakas szansa ze ktos przerobi ta wtyczke tak zeby znow dziala bez zadnych zabiegow ? |
|
Powrót do góry |
|
|
andy Weteran
Dołączył: 01 Mar 2007 Posty: 940 Skąd: Z nienacka
|
Wysłany: 07 Kwi 2010 8:32 Temat postu: |
|
|
Cytat: |
Czy jest jakas szansa ze ktos przerobi ta wtyczke tak zeby znow dziala bez zadnych zabiegow ? |
Nie. |
|
Powrót do góry |
|
|
SoBeK Niemowa
Dołączył: 13 Gru 2006 Posty: 8
|
Wysłany: 07 Kwi 2010 17:53 Temat postu: |
|
|
Jedyne czego teraz mozemy sie spodziewac to to, ze ktos napisze nowa wtyczke, albo przerobi ta od czeskow. Nie wiem kto i nie wiem kiedy, ale znajac zycie to jesli sie pokaze to najszybciej na nowy rok... 2015 |
|
Powrót do góry |
|
|
andy Weteran
Dołączył: 01 Mar 2007 Posty: 940 Skąd: Z nienacka
|
Wysłany: 07 Kwi 2010 23:41 Temat postu: |
|
|
Skoro znacie się dobrze na php, perlu i pythonie, to może poproście Jabbim Team o udostępnienie źródeł transportu TV, i dodajcie do niego obsługę polskich stacji. |
|
Powrót do góry |
|
|
kufelek007 Niemowa
Dołączył: 19 Kwi 2009 Posty: 2 Skąd: Zielona Góra Wiek: 45 lat(a)
|
Wysłany: 06 Maj 2010 12:21 Temat postu: |
|
|
szkoda mi tej wtyczki bo na prawdę jest super
Panowie technicy/magicy zróbcie coś z tym kur zapiał, żeby wtyczka działała Ta wtyczka to jakby ten tego powiedzieć kwintesencja M |
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|