Zasadniczo chcę zaindeksować całą witrynę za pomocą Wget, ale potrzebuję tego, aby NIGDY nie pobierać innych zasobów (np. Zdjęć, CSS, JS itp.). Chcę tylko pliki HTML.
Wyszukiwania w Google są całkowicie bezużyteczne.
Oto polecenie, które próbowałem:
wget --limit-rate=200k --no-clobber --convert-links --random-wait -r -E -e robots=off -U "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36" -A html --domain=www.example.com http://www.example.com
Nasza strona to hybrydowe płaskie PHP i CMS. Tak, HTML "plików" może być /path/to/page
, /path/to/page/
, /path/to/page.php
, lub /path/to/page.html
.
Dołączyłem nawet, -R js,css
ale nadal pobiera pliki, TO je odrzuca (bezcelowe marnowanie przepustowości, procesora i obciążenia serwera!).
wget
web-crawler
Nathan JB
źródło
źródło
Length: 558 [text/css]
nie chcę plików. Gdybym mógł zatrzymać żądanie, jeśli nagłówek nie zwróci siętext/html
, byłbym szczęśliwy.Odpowiedzi:
Komentarz @ ernie na temat
--ignore-tags
prowadzenia mnie właściwą ścieżką! Kiedy spojrzałem--ignore-tags
w góręman
zauważyłem--follow-tags
.Ustawienie
--follow-tags=a
pozwoliło mi pominąćimg
,link
,script
, itd.Jest to prawdopodobnie zbyt ograniczone dla niektórych osób szukających tej samej odpowiedzi, ale w rzeczywistości działa dobrze w moim przypadku (w porządku, jeśli przegapię kilka stron).
Jeśli ktoś znajdzie sposób, aby zezwolić na skanowanie WSZYSTKICH tagów, ale uniemożliwi
wget
odrzucanie plików dopiero po ich pobraniu (powinien odrzucić na podstawie nazwy pliku lub nagłówka Typ zawartości przed pobraniem), bardzo chętnie zaakceptuję ich odpowiedź!źródło
co z dodaniem opcji:
źródło