Tạo wget tải tài nguyên trang trên một tên miền khác


16

Làm thế nào để bạn sử dụng wget để tải xuống toàn bộ trang web (tên miền A) khi tài nguyên của nó nằm trên một tên miền khác, (tên miền B)?
Tôi đã thử:
wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA


Ồ Không ai sau tất cả thời gian này?
Parsa

Lý do lệnh không hoạt động là vì sử dụng --domainschính nó không bật --span-hosts. Thêm --span-hostssẽ giải quyết vấn đề. : |
Parsa

Câu trả lời:


14
wget --recursive --level=inf --page-requisites --convert-links --html-extension \
     --span-hosts=domainA,domainB url-on-domainA

CẬP NHẬT: Tôi nhớ rằng lệnh trên đã làm việc cho tôi trong quá khứ (đó là năm 2010 và lúc đó tôi đang sử dụng GNU Tools cho Windows ); tuy nhiên tôi đã phải thay đổi nó thành như sau khi tôi muốn sử dụng nó ngày hôm nay:

wget --recursive --level=inf --page-requisites --convert-links \
     --adjust-extension --span-hosts --domains=domainA,domainB domainA

Tốc ký cho điều đó sẽ là: 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>

Hướng dẫn sử dụng GNU Wget: https://www.gnu.org/software/wget/manual/wget.html


Tôi nhận được: wget: --span-hosts: Boolean không hợp lệ domainA,domainB'; use trên 'hoặc' tắt '. Sau khi thay đổi thành bật, nó không hoạt động.
Matthew Flaschen

@MatthewFlaschen Những gì tôi đã viết ở đây đã làm việc cho tôi. Bạn có thể cung cấp các đối số bạn đã sử dụng?
Parsa

Tôi không có lệnh chính xác mà tôi đã chạy trước đây. Tuy nhiên, tôi có cùng một vấn đề với: wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org Tôi đang sử dụng GNU Wget 1.13.4 trên Debian.
Matthew Flaschen

3
Hãy thử --span-hosts --domains=example.org,iana.org- Tôi nghĩ rằng --span-hostscần phải là một boolean, và sau đó bạn sử dụng --domainsđể chỉ định máy chủ nào sẽ mở rộng.
Eric Mill

Konklone, --span-hosts là một boolean từ 1.12 trở đi, tôi không biết điều đó. @MatthewFlaschen, tôi đã cập nhật câu trả lời. Nhân tiện, điều đó vẫn sẽ hoạt động trên 1.11 trở về trước, nếu bạn đang sử dụng GNU Tools cho Windows.
Parsa

1

wget --recursive --level = inf --page-certisites --convert-links --html-extension -rH -DdomainA, domainB domainA


Điều này một phần hoạt động. Tuy nhiên, vì một số lý do, nó dường như không hoạt động nếu URL (ở cuối) là một chuyển hướng. Ngoài ra, nó cũng tải các liên kết, không chỉ các trang cần thiết. Ngoài ra, -r và --recursive là như nhau.
Matthew Flaschen


-1

Cân nhắc sử dụng HTTrack . Nó có nhiều tùy chọn hơn khi thu thập nội dung trên các tên miền khác ngoài wget. Sử dụng wget với --span-hosts, --domains và --accept khi không đủ cho nhu cầu của tôi nhưng HTTrack đã thực hiện công việc. Tôi nhớ rằng việc thiết lập giới hạn chỉ đường lại trên các miền khác đã giúp ích rất nhiều.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.