使wget在其他域上下载页面资源


16

当其资源位于另一个域(域B)上时,如何使用wget下载整个站点(域A)?
我试过了:
wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA


哇!一直没有人吗?
帕萨

该命令不起作用的原因是因为单独使用该命令不会--domains打开--span-hosts。添加--span-hosts就可以解决问题。:|
帕萨2014年

Answers:


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

更新:我记得上面的命令过去对我有用(那是2010年, 那时我在Windows上使用GNU Tools);但是,当我今天想使用它时,必须将其更改为以下内容:

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

其简写为: 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>

GNU Wget手册:https//www.gnu.org/software/wget/manual/wget.html


我得到:wget:--span-hosts:无效的布尔值“ domainA,domainB'; use 开”或“关”。更改为开后,它不起作用。
Matthew Flaschen 2014年

@MatthewFlaschen我在这里写的对我有用。您能提供您使用过的参数吗?
帕尔萨2014年

我没有之前运行过的确切命令。但是,我也有同样的问题: wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org 我在Debian上使用GNU Wget 1.13.4。
马修·弗莱申

3
尝试--span-hosts --domains=example.org,iana.org-我认为--span-hosts需要为布尔值,然后使用它--domains来指定要跨越的主机。
埃里克·米尔

Konklone,-span-hosts是1.12和更高版本中的布尔值,我不知道。@MatthewFlaschen,我更新了答案。顺便说一句,如果您使用的是Windows的GNU工具,那么该功能仍将在1.11和更早的版本上运行。
帕萨2014年

1

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


这部分起作用。但是,由于某种原因,如果URL(最后)是重定向,则似乎不起作用。此外,它也下载链接,而不仅仅是页面要求。另外,-r和--recursive相同。
Matthew Flaschen 2014年


-1

考虑使用HTTrack。在其他域上搜寻内容时,它具有比wget更多的选项。将wget与--span-hosts,-domains和--accept配合使用时,虽然我的需求不足,但HTTrack可以胜任。我记得在其他域上设置重定向限制很有帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.