Udostępnij zasoby strony pobierania wget w innej domenie
16
Jak używasz wget do pobierania całej witryny (domena A), gdy jej zasoby znajdują się w innej domenie (domena B)?
Próbowałem: wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA
Powodem, dla którego polecenie nie działa, jest to, że --domainssamo używanie się nie włącza --span-hosts. Dodanie --span-hostsrozwiązałoby problem. : |
AKTUALIZACJA: Pamiętam, że powyższe polecenie działało dla mnie w przeszłości (był to rok 2010 i wtedy używałem GNU Tools dla Windows ); jednak musiałem zmienić go na następujący, gdy chciałem go dzisiaj użyć:
Dostaję: wget: --span-hosts: niepoprawny boolean domainA,domainB'; use włączony lub wyłączony. Po zmianie na on nie działa.
Matthew Flaschen
@MatthewFlaschen To, co tu napisałem, działało dla mnie. Czy możesz podać argumenty, których użyłeś?
Parsa
Nie mam dokładnego polecenia, które wcześniej uruchomiłem. Mam jednak ten sam problem z: wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org Używam GNU Wget 1.13.4 na Debianie.
Matthew Flaschen
3
Spróbuj --span-hosts --domains=example.org,iana.org- myślę, że --span-hostsmusi to być wartość logiczna, a następnie możesz --domainsokreślić, które hosty mają zostać włączone.
Eric Mill
Konklone, --span-hosts jest wartością logiczną od 1.12 i później, nie wiedziałem o tym. @MatthewFlaschen, zaktualizowałem odpowiedź. Nawiasem mówiąc, będzie to nadal działać na 1.11 i wcześniejszych, jeśli używasz GNU Tools dla Windows.
To częściowo działa. Jednak z jakiegoś powodu nie wydaje się, aby adres URL (na końcu) był przekierowaniem. Ponadto pobiera również linki, a nie tylko wymagane strony. Również -r i --recursive są takie same.
Rozważ użycie HTTrack . Ma więcej opcji podczas indeksowania treści w innych domenach niż wget. Używanie wget z opcjami --span-hosts, --domains i --accept jest niewystarczające dla moich potrzeb, ale HTTrack wykonał to zadanie. Pamiętam, że ustawienie limitu przekierowań w innych domenach bardzo pomogło.
--domains
samo używanie się nie włącza--span-hosts
. Dodanie--span-hosts
rozwiązałoby problem. : |Odpowiedzi:
AKTUALIZACJA: Pamiętam, że powyższe polecenie działało dla mnie w przeszłości (był to rok 2010 i wtedy używałem GNU Tools dla Windows ); jednak musiałem zmienić go na następujący, gdy chciałem go dzisiaj użyć:
Skrótem tego byłoby:
wget -rEDpkH -l inf domainA,domainB domainA
-r
=--recursive
-l <depth>
=--level=<depth>
-E
=--adjust-extension
-p
=--page-requisites
-K
=--backup-converted
-k
=--convert-links
-D <domain-list>
=--domain-list=<domain-list>
-H
=--span-hosts
-np
=--no-parent
-U <agent-string>
=--user-agent=<agent-string>
źródło
domainA,domainB'; use
włączony lub wyłączony. Po zmianie na on nie działa.wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org
Używam GNU Wget 1.13.4 na Debianie.--span-hosts --domains=example.org,iana.org
- myślę, że--span-hosts
musi to być wartość logiczna, a następnie możesz--domains
określić, które hosty mają zostać włączone.wget --recursive --level = inf - wymagania-strony --convert-links --html-extension -rH -DdomainA, domainB domainA
źródło
Konieczne może być zignorowanie pliku robots.txt (uwaga: może to być naruszenie niektórych warunków świadczenia usług i należy pobrać wymagane minimum). Zobacz https://www.gnu.org/software/wget/manual/wget.html#Robot-Exclusion .
źródło
Rozważ użycie HTTrack . Ma więcej opcji podczas indeksowania treści w innych domenach niż wget. Używanie wget z opcjami --span-hosts, --domains i --accept jest niewystarczające dla moich potrzeb, ale HTTrack wykonał to zadanie. Pamiętam, że ustawienie limitu przekierowań w innych domenach bardzo pomogło.
źródło