W jaki sposób instruujesz wget, aby rekurencyjnie indeksował witrynę i pobierał tylko określone typy obrazów?
Próbowałem tego użyć do indeksowania witryny i pobierania tylko obrazów JPEG:
wget --no-parent --wait=10 --limit-rate=100K --recursive --accept=jpg,jpeg --no-directories http://somedomain/images/page1.html
Jednak pomimo tego, że page1.html zawiera setki linków do podstron, które same mają bezpośrednie linki do obrazków, wget zgłasza takie rzeczy jak „Usuwanie podstrony13.html, ponieważ należy ją odrzucić” i nigdy nie pobiera żadnych obrazów, ponieważ żadne nie jest bezpośrednio powiązane z ze strony początkowej.
Zakładam, że dzieje się tak, ponieważ mój --accept jest używany zarówno do kierowania indeksowaniem, jak i filtrowania treści do pobrania, podczas gdy chcę, aby był używany tylko do kierowania pobieraniem treści. Jak sprawić, by wget indeksował wszystkie linki, ale pobierał tylko pliki z określonymi rozszerzeniami, takimi jak * .jpeg?
EDYCJA: Ponadto niektóre strony są dynamiczne i są generowane za pomocą skryptu CGI (np. Img.cgi? Fo9s0f989wefw90e). Nawet jeśli dodam cgi do mojej listy akceptujących (np. --Accept = jpg, jpeg, html, cgi), nadal są one odrzucane. Czy jest na to jakiś sposób?
W jaki sposób oczekujesz, że wget pozna zawartość podstrony 13.html (a więc pliki jpg, do których prowadzi), jeśli nie można go pobrać. Sugeruję, aby zezwolić na HTML, dostać to, czego chcesz, a następnie usunąć to, czego nie chcesz.
Nie jestem całkiem pewien, dlaczego twoje cgi są odrzucane ... czy wget wyświetla jakieś błędy? Być może wykonaj wget verbose (
-v
) i zobacz. Może najlepiej być osobnym pytaniem.To powiedziawszy, jeśli nie zależy ci na przepustowości i pobieraniu partii, a następnie usuń to, czego później nie chcesz, nie ma to znaczenia.
Sprawdź także
--html-extension
Ze strony podręcznika:
--restrict-file-names=unix
mogą być również przydatne ze względu na te adresy URL cgi ...źródło
--no-parent
ale na tym poprzestanę.Możesz także używać MetaProducts Offline Explorer bez programowania
źródło
Spróbuj dodać
--page-requisites
opcjęźródło