Skrypt - skaner nowości
Moderatorzy: Moderatorzy, Administratorzy
Skrypt - skaner nowości
Witam!
Ciągle powstają nowe programy z których korzystamy, a których nie ma w oficjalnym repo Slackware. Dobrze by było wiedzieć czy jest uaktualniony program który sam kompiluję. Jest trochę takich programów, a nieustanne wchodzenie na strony i sprawdzanie nowości to trochę kłopotliwa sprawa. Chodzi mi o skrypt który sprawdzał by nowości, a w czym to może być - bash, php z curl (już nawet zacząłem coś tworzyć). Tak myślę może ktoś zna, albo ma taki skrypt który po odpowiednich przeróbkach dla moich potrzeb mógłby spełniać moje oczekiwania.
Pozdrawiam!
Ciągle powstają nowe programy z których korzystamy, a których nie ma w oficjalnym repo Slackware. Dobrze by było wiedzieć czy jest uaktualniony program który sam kompiluję. Jest trochę takich programów, a nieustanne wchodzenie na strony i sprawdzanie nowości to trochę kłopotliwa sprawa. Chodzi mi o skrypt który sprawdzał by nowości, a w czym to może być - bash, php z curl (już nawet zacząłem coś tworzyć). Tak myślę może ktoś zna, albo ma taki skrypt który po odpowiednich przeróbkach dla moich potrzeb mógłby spełniać moje oczekiwania.
Pozdrawiam!
Ostatnio zmieniony 2007-10-11, 17:30 przez slawul, łącznie zmieniany 1 raz.
[i][size=84]Nigdy nie bój się próbować czegoś nowego... Pamiętaj - Amatorzy zbudowali Arkę, Profesjonaliści Titanica...[/size][/i]
O czym to świadczy?
O czym to świadczy?
Re: Skrypt - skaner nowości
No to ja już coś zaczełeś to może byś sie pochwalił.
-
- Moderator
- Posty: 1510
- Rejestracja: 2006-03-19, 12:00
- Lokalizacja: Gdynia
- Kontakt:
Re: Skrypt - skaner nowości
Nie wyobrażam sobie skryptu, który będzie sprawdzał nowości na poszczególnych stronach.
Może np. za pomocą PHP (fread), czy czegoś podobnego ściągać zawartość strony i sprawdzać czy w kodzie strony pojawiło się coś nowego... ale to raczej mizerny pomysł.
Ewentualnie można przeszukiwać katalog serwera, w którym jest dany program, a to też nie zawsze jest łatwe.
Takie rzeczy to tylko w debianie.... (apt-get, aptitude )
edit...
To oczywiście miał być żart, brzmiący jak reklama, wiem, że są inne dystrybucje z podobnymi patentami
Może np. za pomocą PHP (fread), czy czegoś podobnego ściągać zawartość strony i sprawdzać czy w kodzie strony pojawiło się coś nowego... ale to raczej mizerny pomysł.
Ewentualnie można przeszukiwać katalog serwera, w którym jest dany program, a to też nie zawsze jest łatwe.
Takie rzeczy to tylko w debianie.... (apt-get, aptitude )
edit...
To oczywiście miał być żart, brzmiący jak reklama, wiem, że są inne dystrybucje z podobnymi patentami
Ostatnio zmieniony 2007-10-11, 22:32 przez miszmaniac, łącznie zmieniany 1 raz.
Pamiętaj,
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]
Re: Skrypt - skaner nowości
najprościej:
Kod: Zaznacz cały
#!/bin/sh
md5=`curl -s www.slackware.org | md5sum - | cut -d\ -f 1`
if [ "$1" == "-v" ];then echo "md5=$md5";fi
if [ "$md5" == "45dd0a6ce46b4f93a28219426febf2bb" ];then
echo "Po staremu"
else
echo "mamy nowosc"
fi
[url=http://xt24.eu/sklep/linux/]Koszulki Slackware[/url]
Nie wierz w cuda
- zdaj się na nie.
Nie wierz w cuda
- zdaj się na nie.
-
- Moderator
- Posty: 1510
- Rejestracja: 2006-03-19, 12:00
- Lokalizacja: Gdynia
- Kontakt:
Re: Skrypt - skaner nowości
Wydaje mi się, że to było kryterium działania programu, że nie ma bazować na slackware.orgslawul pisze:a których nie ma w oficjalnym repo Slackware.
Pamiętaj,
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]
Re: Skrypt - skaner nowości
To że zacząłem coś robić w kierunku rozwiązania problemu z uaktualnieniami programów to myślę że ten temat jest godzien uwagi, bo każdemu przydałby się taki skrypt. Mając kilkadziesiąt programów które sam kompiluję, a bycie na bieżąco jest jak najbardziej wskazane - chyba wiemy czemu? Myślę że są takie skrypty, a jakże skąd by takie serwisy jak np. distrowatch.com były na bieżąco.
Pozdrawiam!
To naprawdę w zasadzie niewiele daje poza zapisywaniem do pliku zawartości strony, a ja myślę jak wyodrębnić ze strony nowość - konkretny plik tar.bz2 czy tar.gz i myślę że dobrym rozwiązaniem byłby skrypt bash powiązany z curl, bo curl z php wymaga dodatkowego demona w tle - httpd - oczywiście. kajoj Twój skrypt trochę zachacza o postawiony problem, ale mi chodzi żeby sprawdzał strony: http://aterm.sourceforge.net/ , http://conky.sourceforge.net/ , http://geany.uvena.de/ , http://www.sqlite.org/ - to tylko kilka stron programów z których korzystam i o różnych serwerach nie tylko http://sourceforge.net/. Mówiąc już o skrypcie kajoj dobrze by go tak zmienić by sprawdzał kilka stron pod kątem oprogramowania, a czy sumy kontrolne sprawdzał? to nie wiem mając kilkadziesiąt stron do sprawdzenia wstukuj kilkadziesiąt sum. Mi chodzi o taki skrypt dajmy na to by sprawdzał te kilkadziesiąt stron - serwerów i np. zapisywał do pliku czy jest coś nowego, co jest nowego, no i numerek kolejnej wersji programu. To tyle narazie.sectt pisze:No to ja już coś zaczełeś to może byś sie pochwalił.
Pozdrawiam!
[i][size=84]Nigdy nie bój się próbować czegoś nowego... Pamiętaj - Amatorzy zbudowali Arkę, Profesjonaliści Titanica...[/size][/i]
O czym to świadczy?
O czym to świadczy?
Re: Skrypt - skaner nowości
nie no jak chcesz się bawić a regexpowanie stron to oczywiście Perl!
Kod: Zaznacz cały
#!/usr/bin/perl -w
use LWP::Simple;
use strict;
use warnings;
my @programs=(
['aterm', 'http://www.afterstep.org/download.php', 'Latest stable release : ([0-9.]+)', '2.2.7'],
['conky', 'http://conky.sourceforge.net/', 'latest.*<h3>Conky ([0-9.]+)', '1.4.6'],
['geany', 'http://geany.uvena.de/Download/Releases', 'geany-([0-9.]+)\.tar\.gz', '0.12'],
['sqlite', 'http://www.sqlite.org/download.html', 'sqlite-([0-9.]+)\.tar\.gz', '3.5.1'],
);
for my $prog (@programs) {
my $body = get($prog->[1]);
unless ($body) {
warn "latest: $prog->[1]: unagle to get document: $!";
next;
}
my $pat = $prog->[2];
if ($body=~/$pat/sm) {
my $ver=$1;
if ($ver ne $prog->[3]) {
print $prog->[0].": nowa wersja ($ver)\n";
} else {
print $prog->[0].": aktualne\n";
}
} else {
print $prog->[0].": błąd wyszukiwania\n";
}
}
exit(0);
Ostatnio zmieniony 2007-10-12, 14:46 przez kajoj, łącznie zmieniany 1 raz.
[url=http://xt24.eu/sklep/linux/]Koszulki Slackware[/url]
Nie wierz w cuda
- zdaj się na nie.
Nie wierz w cuda
- zdaj się na nie.
Re: Skrypt - skaner nowości
Można też krozystać z kanałów RSS udostępnianych przez niektóre projekty (między innymi wszystkie projekty na SourceForge).
[ Dodano: 2007-10-12, 15:28 ]
Osobiście zmieniłbym na:kajoj pisze:my $body=get($prog->[1]) or die "Unable to get document: $!";
Kod: Zaznacz cały
my $body = get($prog->[1]);
unless ($body) {
warn "latest: $prog->[1]: unagle to get document: $!";
next;
}
[ Dodano: 2007-10-12, 15:28 ]
Pierwsze słyszę.slawul pisze: bo curl z php wymaga dodatkowego demona w tle - httpd
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Re: Skrypt - skaner nowości
No racja.mina86 pisze:Osobiście zmieniłbym na ...
[url=http://xt24.eu/sklep/linux/]Koszulki Slackware[/url]
Nie wierz w cuda
- zdaj się na nie.
Nie wierz w cuda
- zdaj się na nie.
Re: Skrypt - skaner nowości
Wielkie dzięki kajoj i mina86 skrypt jest w porządku działa, dopisałem już chyba z 15 pozycji. Tylko że nie zamykam tematu jako rozwiązany bo jeden problem z którym nie wiem jak sobie poradzić, a mianowicie jeśli łączy się z http gdzie jest kilka wersji i łapie - jak to się mówi pierwszą z brzegu, a z ftp jest taki problem że wyświetla tylko info ze skryptu: Aha gdyby ktoś chciał skorzystać z tego skryptu niech poprzez wywołanie z perla zainstaluje
Kod: Zaznacz cały
warn "latest: $prog->[1]: unagle to get document: $!";
Kod: Zaznacz cały
cpan
Kod: Zaznacz cały
install LWP::Simple
[i][size=84]Nigdy nie bój się próbować czegoś nowego... Pamiętaj - Amatorzy zbudowali Arkę, Profesjonaliści Titanica...[/size][/i]
O czym to świadczy?
O czym to świadczy?
Re: Skrypt - skaner nowości
To napisz taki pattern żeby łapał to co chcesz.slawul pisze:łapie - jak to się mówi pierwszą z brzegu
bo ftp nie jest obsługiwane (jeszcze). Coś się poradzi.slawul pisze:ftp jest taki problem
[ Dodano: 2007-10-13, 16:59 ]
Wersja z obsługą HTTP, FTP, Gopher, News i plików lokalnych.
Kod: Zaznacz cały
#!/usr/bin/perl -w
use LWP::UserAgent;
use HTTP::Request;
use strict;
use warnings;
my @programs=(
['aterm', 'http://www.afterstep.org/download.php', 'Latest stable release : ([0-9.]+)', '2.2.7'],
['conky', 'http://conky.sourceforge.net/', 'latest.*<h3>Conky ([0-9.]+)', '1.4.6'],
['geany', 'http://geany.uvena.de/Download/Releases', 'geany-([0-9.]+)\.tar\.gz', '0.12'],
['sqlite', 'http://www.sqlite.org/download.html', 'sqlite-([0-9.]+)\.tar\.gz', '3.5.1'],
['apache', 'ftp://ftp.tpnet.pl/d1/apache/httpd/', 'apache_([0-9.]+)\.tar\.gz', '1.2.3'],
['error', 'http://bardzo.dziny.popsuty.adres.tld', 'error-(.*).exe', '666'],
);
my $ua = LWP::UserAgent->new;
for my $prog (@programs) {
my $req = HTTP::Request->new(GET => $prog->[1]);
my $res = $ua->request($req);
if (! $res->is_success) {
print "$prog->[0]: błąd przy pobieraniu informacji z $prog->[1]\n";
next;
}
my $body = $res->content;
my $pat = $prog->[2];
if ($body=~/$pat/sm) {
my $ver=$1;
if ($ver ne $prog->[3]) {
print $prog->[0].": nowa wersja ($ver)\n";
} else {
print $prog->[0].": aktualne\n";
}
} else {
print $prog->[0].": błąd wyszukiwania\n";
}
}
exit(0);
[url=http://xt24.eu/sklep/linux/]Koszulki Slackware[/url]
Nie wierz w cuda
- zdaj się na nie.
Nie wierz w cuda
- zdaj się na nie.
Re: Skrypt - skaner nowości
Pomimo poprawki skryptu jednak nie chce mi łapać ftp. Już wpisałem inne adresy i ciągle ten sam wynik: Nie wiem w czym problem. Mimo wszystko skrypt się przydaje, a łapanie "pierwszego z brzegu" w końcu nie łapie jak są np: tylko jak zmieni się wersja na 1.1.1 to znów będzie podobny efekt jakby "pierwszy z brzegu". No cóż czas na perla - samemu się wgłębiać.
Kod: Zaznacz cały
błąd wyszukiwania
Kod: Zaznacz cały
'.*aterm-(1\.0\.[0-9.]+)\.tar\.bz2', '1.0.1'
Ostatnio zmieniony 2007-10-15, 21:21 przez slawul, łącznie zmieniany 1 raz.
[i][size=84]Nigdy nie bój się próbować czegoś nowego... Pamiętaj - Amatorzy zbudowali Arkę, Profesjonaliści Titanica...[/size][/i]
O czym to świadczy?
O czym to świadczy?