用python实现的下载整个网站工具。
核心流程很简单:
1. 输入网站地址
2. url,得到响应的内容。
3. 根据响应的http报文头,如果类型为html, 则从第4步开始执行。如果是其它类型,则从第6步执行。
4. 提取html中href和src属性值。
5. 将提取到的url,加入下载队列中。如果url已经存在于下载队列中,则丢弃它。
6. 再然后打开url队列中下一个url。
7.继续循环执行第2步,知道url队列中的url处理完为止。
这个步骤看起来很简单,但是里面很多细节要处理半天。
url的各种类型,怎么给后缀有问号的url命名。
目前这个程序中有一处问题是:
1 打开url时,可能会阻塞到一处执行不下去。这个需要研究一下urllib.request
2 还有在url队列长度庞大时,多线程下载速度回更快。
3 英文注释不知道有多少错误。因为写注释时,要是用中文,需要不停来回切换输入法,所以就使用英文。
而目前的程序部支持多线程,日后再完善。
如果有同学有兴趣完善,非常欢迎。
源代码下载:http://download.csdn.net/detail/jiangxiaoma111/8002631
个人邮箱:369806726@qq.com
原文地址:http://blog.csdn.net/jiangxiaoma111/article/details/39782941