如何获得一个URL下面的所有目录和文件,并下载下来

lianglin999 2011-11-13 01:19:22
RT:刚刚接触python,需求就是将一个给定的URL下面的目录和文件下载下来
要求:下载下来的文件按URL的路径存放
如:从http://localhost:8080/soft/vim.exe下载下来的文件存放在
/soft/vim.exe 目录下。

请教实现方法或能够实现相关功能的函数,感激不尽!

...全文
8217 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lianglin999 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ccdbg 的回复:]

如果服务器支持索引,就是浏览器打开http://localhost:8080/soft/ 出来的是文件列表的话,可以用下面的命令
Perl code
wget -m -np -nH http://localhost:8080/soft/
[/Quote]
感谢6楼,这个方法可以实现,但是我发现用这个方法下载下来的东西,在某些目录下莫名其妙的多了一些
index.html?C=D;O=A等这样一些文件,有没有什么办法让不多出这些文件呢?
lianglin999 2011-11-14
  • 打赏
  • 举报
回复
恩,谢谢
ccdbg 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lianglin999 的回复:]

引用 6 楼 ccdbg 的回复:

如果服务器支持索引,就是浏览器打开http://localhost:8080/soft/ 出来的是文件列表的话,可以用下面的命令
Perl code
wget -m -np -nH http://localhost:8080/soft/

感谢6楼,这个方法可以实现,但是我发现用这个方法下载下来的东西,在某些目录下莫名其妙的多了一些
index……
[/Quote]

-A, --accept=LIST comma-separated list of accepted extensions.
-R, --reject=LIST comma-separated list of rejected extensions.
lianglin999 2011-11-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 waistcoat06 的回复:]

无法实现,因为服务器的http://协议里不支持遍历目录
[/Quote]
不能实现么?我的想法是先取得当前URL下的目录结构,然后进入子目录,如此递归。
问题就是不知道怎么获取一个URL下的目录结构,(不考虑其他因素,我确认URL下就是一些目录或文件)
WaistCoat06 2011-11-13
  • 打赏
  • 举报
回复
无法实现,因为服务器的http://协议里不支持遍历目录
ccdbg 2011-11-13
  • 打赏
  • 举报
回复
如果服务器支持索引,就是浏览器打开http://localhost:8080/soft/ 出来的是文件列表的话,可以用下面的命令
wget -m -np -nH http://localhost:8080/soft/
离骚GG 2011-11-13
  • 打赏
  • 举报
回复
我在windows上做了一下实验可以成功下载
目的:在python官网上下载python 2.7.2的windows环境的安装程序,存放在F:\test\test.msi
代码:
import urllib
urllib.urlretrieve('http://www.python.org/ftp/python/2.7.2/python-2.7.2.msi','F:\\test\\test.msi')
iambic 2011-11-13
  • 打赏
  • 举报
回复
3楼不是已经说了么,无法实现。这种清楚明白,干净利落,没有周旋余地的回答,还追问什么。
panghuhu250 2011-11-13
  • 打赏
  • 举报
回复
什么是“一个给定的URL下面的目录和文件”?

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧