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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-04-01 19:54:59

  DeWu - Użytkownik

DeWu
Użytkownik
Zarejestrowany: 2013-03-26

wget rekursywnie i filtracja URL

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/[b]kawal[/b]/..... 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

 

#2  2014-04-01 20:16:26

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: wget rekursywnie i filtracja URL

Zapodaj przykład konkretnego urla który chcesz pobrać (najlepiej do strony głownej i do jakiegoś kolejnego przykładowego urla)


LRU: #472938
[b]napisz do mnie:[/b] ola@mojmail.eu
[url=http://valhalla.org.pl]Hołmpejdż[/url] | [url=http://valhalla.org.pl/foto]Galerie[/url] | [url=http://valhalla.org.pl/tech]"Twórczość"[/url] || [url=http://img.munn.in]Free Image Hosting[/url]

Offline

 

#3  2014-04-01 20:32:24

  DeWu - Użytkownik

DeWu
Użytkownik
Zarejestrowany: 2013-03-26

Re: wget rekursywnie i filtracja URL

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

 

#4  2014-04-01 21:20:39

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: wget rekursywnie i filtracja URL

Kod:

wget -A *dla-dzieci* http://biedronka.pl/pl/

[img]https://l0calh0st.pl/obrazki/userbar.png[/img]

Offline

 

#5  2014-04-01 21:23:18

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: wget rekursywnie i filtracja URL

Kod:

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 ;)


LRU: #472938
[b]napisz do mnie:[/b] ola@mojmail.eu
[url=http://valhalla.org.pl]Hołmpejdż[/url] | [url=http://valhalla.org.pl/foto]Galerie[/url] | [url=http://valhalla.org.pl/tech]"Twórczość"[/url] || [url=http://img.munn.in]Free Image Hosting[/url]

Offline

 

#6  2014-04-01 21:27:47

  DeWu - Użytkownik

DeWu
Użytkownik
Zarejestrowany: 2013-03-26

Re: wget rekursywnie i filtracja URL

@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

 

#7  2014-04-01 21:34:29

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: wget rekursywnie i filtracja URL

Z mana wgeta:[quote="man wget"]This feature needs much more work for Wget to get close to the functionality of real web spiders.[/quote]
[url=http://search.cpan.org/~kventin/WWW-Robot-0.026/lib/WWW/Robot.pm]Więc może jednak perl[/url]


LRU: #472938
[b]napisz do mnie:[/b] ola@mojmail.eu
[url=http://valhalla.org.pl]Hołmpejdż[/url] | [url=http://valhalla.org.pl/foto]Galerie[/url] | [url=http://valhalla.org.pl/tech]"Twórczość"[/url] || [url=http://img.munn.in]Free Image Hosting[/url]

Offline

 

#8  2014-04-01 21:41:54

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: wget rekursywnie i filtracja URL

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 [url=http://search.cpan.org/~ether/WWW-Mechanize-1.73/lib/WWW/Mechanize.pm]WWW::Mechanize[/url], [url=http://search.cpan.org/~lxp/WWW-Scripter-0.030/lib/WWW/Scripter.pod]WWW::Scripter[/url], regexy i do roboty. ;)

Wget jest stanowczo za skromny na takie gimnastyki.

Ostatnio edytowany przez Jacekalex (2014-04-01 21:46:20)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2014-04-01 21:43:52

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: wget rekursywnie i filtracja URL

A jak [url=https://www.google.pl/search?num=100&safe=off&espv=2&es_sm=121&q=perl+web+crawler&oq=perl+web+crawler&gs_l=serp.3..0i7i30i19j0i19l5j0i30i19l3j0i5i30i19.27510.33827.0.34304.18.17.1.0.0.0.263.2418.5j11j1.17.0.ekp%2Ckpns%3D1000%2Ckpnr%3D120...0...1.1.39.serp..5.13.1437.lV5lzAeORyM]zapytasz wujka google[/url] to ci podrzuci X rozwiązań w perlu, od mechanize przez zwykły LWP ;)


LRU: #472938
[b]napisz do mnie:[/b] ola@mojmail.eu
[url=http://valhalla.org.pl]Hołmpejdż[/url] | [url=http://valhalla.org.pl/foto]Galerie[/url] | [url=http://valhalla.org.pl/tech]"Twórczość"[/url] || [url=http://img.munn.in]Free Image Hosting[/url]

Offline

 

#10  2014-04-01 21:48:14

  DeWu - Użytkownik

DeWu
Użytkownik
Zarejestrowany: 2013-03-26

Re: wget rekursywnie i filtracja URL

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

 

#11  2014-04-01 22:42:09

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: wget rekursywnie i filtracja URL

Kod:

 ~> 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,

Kod:

dev-perl/URI-Find (/usr/bin/urifind)

Kod:

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
;-)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#12  2014-04-01 23:10:18

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: wget rekursywnie i filtracja URL

A nie można jedym awkiem sieknąć tylko machać milion potoków? :>

Kod:

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

;)


LRU: #472938
[b]napisz do mnie:[/b] ola@mojmail.eu
[url=http://valhalla.org.pl]Hołmpejdż[/url] | [url=http://valhalla.org.pl/foto]Galerie[/url] | [url=http://valhalla.org.pl/tech]"Twórczość"[/url] || [url=http://img.munn.in]Free Image Hosting[/url]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.008 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00091 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.149.24.143' WHERE u.id=1
0.00065 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.149.24.143', 1732306369)
0.00057 SELECT * FROM punbb_online WHERE logged<1732306069
0.00049 SELECT topic_id FROM punbb_posts WHERE id=261847
0.00005 SELECT id FROM punbb_posts WHERE topic_id=25533 ORDER BY posted
0.00059 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25533 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00088 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25533 ORDER BY p.id LIMIT 0,25
0.00079 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25533
Total query time: 0.00512 s