Jak pobrać pełną stronę internetową, ale ignorując wszystkie pliki binarne.
wget
ma tę funkcję za pomocą -r
flagi, ale pobiera wszystko, a niektóre witryny są po prostu zbyt duże dla maszyny o niskim zużyciu zasobów i nie jest to przydatne z konkretnego powodu, dla którego pobieram witrynę.
Oto linia poleceń, której używam: wget -P 20 -r -l 0 http://www.omardo.com/blog
(mój własny blog)
wget
recursive
download
mime-types
Omar Al-Ithawi
źródło
źródło
Odpowiedzi:
Możesz podać listę dozwolonych resp. niedozwolone wzorce nazw plików:
Dozwolony:
Niedozwolone:
LIST
to rozdzielona przecinkami lista wzorców / rozszerzeń nazw plików.Aby określić wzorce, możesz użyć następujących znaków zastrzeżonych:
*
?
[
]
Przykłady:
-A png
-R css
-R avatar*.png
Jeśli plik nie ma rozszerzenia lub. nazwa pliku nie ma wzorca, z którego mógłbyś skorzystać, chyba trzeba by go parsować typu MIME (patrz odpowiedź Larsa Kotthoffa ).
źródło
Możesz spróbować załatać wget za pomocą tego (również tutaj ), aby filtrować według typu MIME. Ta łatka jest już dość stara, więc może już nie działać.
źródło
Nowy Wget (Wget2) ma już funkcję:
Wget2 nie został wydany na dziś, ale wkrótce. Debian niestabilny ma już dostarczoną wersję alfa.
Więcej informacji na stronie https://gitlab.com/gnuwget/wget2 . Możesz zamieszczać pytania / komentarze bezpośrednio na [email protected].
źródło
Próbowałem zupełnie innego podejścia do korzystania ze Skrobaczki, jednak ma to ten sam problem! Oto jak to rozwiązałem: SO: Python Scrapy - filtr oparty na mimecie, aby uniknąć pobierania plików nietekstowych?
źródło