Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Siemka.
Czy da rade przejść wgetem całą domenę (po a hrefach) i pobrać tylo te strony które w URLu mają daną frazę. Chodzi mi np. o stronę megasmiesznekawaly.pl ktora zabiera mnostwo podstron np. megasmiesznekawaly.pl/kategorie/o-jasiu, megasmiesznekawaly.pl/profil/JustysiaB, megasmiesznekawaly.pl/kawal/123456/przychodzi-baba-do-lekarza... ale interesuja mnie tylko te z megasmiesznekawaly.pl/kawal/..... w adresie strony.
Najpierw myślałem, żeby obsłużyc to najprostszym forem ktory bedzie pobierał po kolei megasmiesznekawaly.pl/kawal/1, megasmiesznekawaly.pl/kawal/2 ... ale stronka sypie 404 gdy nie podasz pełnego URLa np. megasmiesznekawaly.pl/kawal/123 zamiast megasmiesznekawaly.pl/kawal/123/czego-nie-ma-w-lesie-iglastym
Z gory dzieki za pomoc!
Ostatnio edytowany przez DeWu (2014-04-01 19:56:42)
Offline
Zapodaj przykład konkretnego urla który chcesz pobrać (najlepiej do strony głownej i do jakiegoś kolejnego przykładowego urla)
Offline
Ma pobierać:
megasmiesznekawaly.pl/kawal/123/czego-nie-ma-w-lesie-iglastym
megasmiesznekawaly.pl/kawal/123456/przychodzi-baba-do-lekarza
megasmiesznekawaly.pl/kawal/303404/wchodza-dwie-blondynki-do-windy
Nie ma pobierac calej reszty strony megasmiesznekawaly.pl
A na konkretniejszym przykładzie:
Stronka - biedronka.pl
Chcę, żeby pobrał mi to co dla dzieci czyli np.
http://biedronka.pl/pl/wiosenny-kiermasz-ksiazek-dla-dzieci-od-03-04
http://biedronka.pl/pl/ksiazki-dla-dzieci-20-03
czyli URLe zawierające frazę "dla-dzieci"
Zastanawiam się, jak sformułować komendę, zeby wget pobrał tylko interesujace mnie strony przechodząc cały site Biedronki i jednocześnie nie zapisał mi na dysk całej ogromnej strony tego popularnego dyskontu.
Ostatnio edytowany przez DeWu (2014-04-01 20:49:15)
Offline
wget -A *dla-dzieci* http://biedronka.pl/pl/
Offline
winnetou@hordeum-vulgare ~ $ lynx -dump http://biedronka.pl|grep "dla-dzieci"|awk '{print $NF}'|while read LINK;do wget $LINK -O /tmp/link.$RANDOM.html;done --2014-04-01 21:21:38-- http://biedronka.pl/pl/ksiazki-dla-dzieci-20-03 Translacja biedronka.pl... 176.31.131.204 Łączenie się z biedronka.pl|176.31.131.204|:80... połączono. Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK Długość: nieznana [text/html] Zapis do: `/tmp/link.953.html' [ <=> ] 22.186 --.-K/s w 0,04s 2014-04-01 21:21:38 (524 KB/s) - zapisano `/tmp/link.953.html' [22186] --2014-04-01 21:21:38-- http://biedronka.pl/pl/wiosenny-kiermasz-ksiazek-dla-dzieci-od-03-04 Translacja biedronka.pl... 176.31.131.204 Łączenie się z biedronka.pl|176.31.131.204|:80... połączono. Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK Długość: nieznana [text/html] Zapis do: `/tmp/link.4209.html' [ <=> ] 30.229 --.-K/s w 0,04s 2014-04-01 21:21:38 (706 KB/s) - zapisano `/tmp/link.4209.html' [30229]
A jak chcesz się jeszcze bardziej w linki zagnieżdżać to oskryptuj (bash/perl/łotewer) - zarys masz ;)
Offline
@mati74: Nie działa tzn pobrał index.html mimo, iż w URLu nie ma słowa "dla-dzieci" i nie idzie rekursywnie
@winetou: nie chcę drugi raz wynajdywać koła. Wiem, ze wget ma bardzo fajny mechanizm pajączka i potrafi ładnie pobrać całego sajta lub do określonej głębokości stymże nie wiem, jaką dokładnie dać mu komendę, żeby zadziałał tak, jak chcę.
Ostatnio edytowany przez DeWu (2014-04-01 21:30:15)
Offline
Z mana wgeta:
man wget napisał(-a):
This feature needs much more work for Wget to get close to the functionality of real web spiders.
Offline
Wget jest tylko i aż programem do pobierania plików.
Może pobierać rekursywnie, ale bez dokładnego analizowania treści.
Do takiej zabawy ze stronami ja brałbym Perla - moduły WWW::Mechanize, WWW::Scripter, regexy i do roboty. ;)
Wget jest stanowczo za skromny na takie gimnastyki.
Ostatnio edytowany przez Jacekalex (2014-04-01 21:46:20)
Offline
A jak zapytasz wujka google to ci podrzuci X rozwiązań w perlu, od mechanize przez zwykły LWP ;)
Offline
Dzięki za linki. Przy odrobinie czasu zagłębię się w temat bo to co chcę osiągnąć na levelu simple się nie mieści. Sądziłem, że można to w szybki i wygodny sposób osiagnąć za pomocą wgeta
Offline
~> lynx --dump http://biedronka.pl/ |urifind | grep dzieci http://biedronka.pl/pl/ksiazki-dla-dzieci-20-03 http://biedronka.pl/pl/wiosenny-kiermasz-ksiazek-dla-dzieci-od-03-04
Niegłupi ten Lynx ;)
Ale do targania sznurków trza i tak zatrudnić Perla,
dev-perl/URI-Find (/usr/bin/urifind)
qlist dev-perl/URI-Find /usr/bin/urifind /usr/lib64/perl5/vendor_perl/5.16.3/URI/Find/Schemeless.pm /usr/lib64/perl5/vendor_perl/5.16.3/URI/Find.pm /usr/share/man/man1/urifind.1.bz2 ...
Pozdro
;-)
Offline
A nie można jedym awkiem sieknąć tylko machać milion potoków? :>
winnetou@hordeum-vulgare ~ $ lynx -dump http://biedronka.pl|awk '/htt.*.dla-dzieci/ {print $NF}' http://biedronka.pl/pl/ksiazki-dla-dzieci-20-03 http://biedronka.pl/pl/wiosenny-kiermasz-ksiazek-dla-dzieci-od-03-04
;)
Offline