Muszę pobrać całą mapę witryny w formacie takim jak:
- http://example.org/
- http://example.org/product/
- http://example.org/service/
- http://example.org/about/
- http://example.org/product/viewproduct/
Potrzebuję go opartego na linkach (bez pliku lub dir brute-force), takiego jak:
parsuj stronę główną -> pobierz wszystkie linki -> przeglądaj je -> pobierz linki, ...
Potrzebuję też możliwości wykrycia, czy strona jest „szablonem”, aby nie pobierać wszystkich „stron potomnych”. Na przykład, jeśli zostaną znalezione następujące linki:
- http://example.org/product/viewproduct?id=1
- http://example.org/product/viewproduct?id=2
- http://example.org/product/viewproduct?id=3
Muszę uzyskać tylko raz http://example.org/product/viewproduct
Zajrzałem do HTTtracków, wget (z opcją pająka), ale jak dotąd nic rozstrzygającego.
Oprogramowanie / narzędzie powinno być dostępne do pobrania i wolę, jeśli działa w systemie Linux. Można go napisać w dowolnym języku.
Dzięki
źródło
Oto przykład jednego wykonanego w Pythonie:
(Źródło: http://theanti9.wordpress.com/2009/02/14/python-web-crawler-in-less-than-50-lines/ )
Również na tej stronie znajduje się link do projektu github http://github.com/theanti9/PyCrawler, który jest bardziej niezawodną wersją stworzoną przez osobę.
źródło
(Win) HTTrack wykonuje bardzo przyzwoitą robotę.
źródło
Technicznie rzecz biorąc, nie ma niezawodnego sposobu na wyodrębnienie struktury katalogów witryny.
Wynika to z faktu, że HTTP nie jest sieciowym systemem plików. Jedyne, co możesz zrobić z HTTP, to skorzystaj z linków na stronie początkowej. Ponadto nic nie wymaga, aby strona początkowa zawierała linki tylko do jej bezpośredniego podkatalogu. Strona index.html najwyższego poziomu może na przykład zawierać bezpośredni link do „foo / baz / blah.html”, głęboko w pewnym podkatalogu.
Edytować:
Aby wygenerować podstawowe mapy witryn , niektóre narzędzia online są powszechnie znane jako Generator map witryn . Jednym z takich narzędzi jest web-site-map.com , daje mapę witryny w formacie XML.
Jeśli nie masz doświadczenia w programowaniu, możesz napisać własnego pająka z określonym zestawem reguł dla konkretnej witryny.
źródło