当前位置:  技术问答>linux和unix

wget真得能下载整个网站吗?

    来源: 互联网  发布时间:2016-06-01

    本文导语:  因为要用到整站下载的功能,重新写实在太难,找了一些工具,不是效果不理想就是没有提供命令行参数,终于找到wget,但使用过程中效果也是不理想。 就拿新浪来说: wget -r -p -np -k http://www.sina.com.cn 上面的命令...

因为要用到整站下载的功能,重新写实在太难,找了一些工具,不是效果不理想就是没有提供命令行参数,终于找到wget,但使用过程中效果也是不理想。
就拿新浪来说:
wget -r -p -np -k http://www.sina.com.cn

上面的命令好像只能下载URL里有“http://www.sina.com.cn”的图片和HTML文件,相对路径、域名不一样的文件都没有下载





上面这些文件都没有下载

我只需要下载指定的URL里所有的资源文件,不管是相对路径、绝对路径、或者是别的域名的文件,只要是在本页面出现的都要下载下来,wget能做到这个吗?


|
貌似使用 -H 选项可能满足你要求...


Wget's recursive retrieval normally refuses to visit hosts different than the one you specified on the command line. This is a reasonable default; without it, every retrieval would have the potential to turn your Wget into a small version of google. 

However, visiting different hosts, or host spanning, is sometimes a useful option. Maybe the images are served from a different server. Maybe you're mirroring a site that consists of pages interlinked between three servers. Maybe the server has two equivalent names, and the html pages refer to both interchangeably. 

Span to any host—‘-H’
The ‘-H’ option turns on host spanning, thus allowing Wget's recursive run to visit any host referenced by a link. Unless sufficient recursion-limiting criteria are applied depth, these foreign hosts will typically link to yet more hosts, and so on until Wget ends up sucking up much more data than you have intended. 

Limit spanning to certain domains—‘-D’
The ‘-D’ option allows you to specify the domains that will be followed, thus limiting the recursion only to the hosts that belong to these domains. Obviously, this makes sense only in conjunction with ‘-H’. A typical example would be downloading the contents of ‘www.server.com’, but allowing downloads from ‘images.server.com’, etc.: 
          wget -rH -Dserver.com http://www.server.com/

You can specify more than one address by separating them with a comma, e.g. ‘-Ddomain1.com,domain2.com’. 


Keep download off certain domains—‘--exclude-domains’
If there are domains you want to exclude specifically, you can do it with ‘--exclude-domains’, which accepts the same type of arguments of ‘-D’, but will exclude all the listed domains. For example, if you want to download all the hosts from ‘foo.edu’ domain, with the exception of ‘sunsite.foo.edu’, you can do it like this: 
          wget -rH -Dfoo.edu --exclude-domains sunsite.foo.edu 
              http://www.foo.edu/

|
搜了下这个:
http://linuxreviews.org/quicktips/wget/

|
別白費心機了,要是包含jsp,asp的頁面,拿下來那些靜態的頁面沒什麼意義的

|
up............

|
这个命令还是第一次听,下来实验一下

|
要加 --mirror 参数的.

但是顺便指出现在大多数网站都是不可能全部下下来了,无论什么软件。很多页面都是服务端即时得到的呀.

|
http://blog.csdn.net/chinalinuxzend/archive/2009/02/13/3885712.aspx



可以使用下面的命令 wget -r -p -k -np http://hi.baidu.com/phps , -r 表示递归下载,会下载所有的链接,不过要注意的是,不要单独使用这个参数,因为如果你要下载的网站也有别的网站的链接,wget也会把别的网站的东西下载 下来,由于互联网的特性,很有可能你会把整个互联网给下载下来 --,所以要加上 -np这个参数,表示不下载别的站点的链接. -k表示将下载的网页里的链接修改为本地链接.-p获得所以显示网页所需的元素,比如图片什么的.
另外还有其他的一些参数可以使用:

-c表示断点续传

-t 100表示重试100次,-t 0表示无穷次重试

另外可以将要下载的url写到一个文件中,每个url一行,使用这样的命令 wget -i download.txt.

--reject=avi,rmvb 表示不下载avi,rmvb的文件,--accept=jpg,jpeg,表示只下载jpg,jpeg的文件.

可以在用户目录下建立一个.wgetrc的文件(windows里面好像不能直接建立这样的文件,windows会认为没有文件名--),里面写上 http-proxy = 123.456.78.9:80,然后在加上参数 --proxy=on,如果需要密码,再加上下面的参数 --proxy-user=username, --proxy-passwd=password 




|
wget?算了吧,不管你用什么方式,都是下载不下来的,因为网页本身有做保护,不管你怎么搞都是搞不下来的.不过很怪哦,你用wget?很少人用.....

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • wget工具
  • wget 访问问题,web开发相关,求插入
  • 请教wget命令行的使用
  • wget 问题
  • x86(大雪), 谢谢你指点wget, 请进!
  • 怎样才能看到linux的wget的源代码?
  • wget http....如何让得到的文件自动覆盖?
  • wget 命令请教
  • socket system wget在程序中使用的奇怪现象.该怎么解决呢
  • 如何正确使用wget? 急急急....
  • 数据库 iis7站长之家
  • 急!!!希望高手来帮帮!!一个关于wget的问题
  • 怎么判断wget一个URL是否成功
  • 每隔一段时间在Linux系统下执行 wget 命令请求服务器网页,会使内存增加吗?
  • 由wget引出的问题:no route to host
  • 关于wget源代码的一点疑问?
  • 求救!!!关于wget传输一个目录文件的问题
  • wget 的问题
  • Wget 设置代理服务器的密码问题----真正的人品问题
  • 请各位高手解决使用wget遇到的难题,谢谢!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3