python 下载整个网站

用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

个人邮箱:[email protected]

时间: 2024-10-17 20:39:04

python 下载整个网站的相关文章

【转】 详细介绍windows下使用python pylot进行网站压力测试

windows下使用python进行网站压力测试,有两个必不可少的程序需要安装,一个是python,另一个是pylot.python是一个安装软件,用来运行python程序,而pylot则是python的一个功能插件,作用是进行网站压力测试.本文将介绍在windows下如何使用python pylot进行网站压力测试. 一.安装python 如果你已经成功安装了python,那么可以忽略这步.否则,请首先正确安装python,确保能运行正常.可以看看这里,windows安装python详细教程

使用yo-get下载视频网站视频或其他

使用yo-get下载视频网站视频或其他 文/玄魂 目录 使用yo-get下载视频网站视频或其他... 1 前言... 1 1.1 下载.安装... 1 依赖... 1 exe安装... 1 pip安装... 1 Antigen安装... 1 Git 克隆源码... 1 Homebrew 安装... 1 1.2  基本使用... 1 下载视频网站视频... 1 下载任何指定文件... 1 利用google搜索并下载视频... 1 中断和继续... 1 自定义下载文件路径和名称... 1 设置代理.

Python下载网页的几种方法

get和post方式总结 get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在servlet/jsp中就无法处理发挥java的比如vector之类的功能). post方式:就传输方式讲参数会被打包在数据报中传输,从CONTENT_LENGTH这个环境变量中读取,便于传送较大一些的数据,同时因为不暴露数据在浏览器的地址栏中,安全性相对较高,但这样的处理效率会受到影响. get

linux下使用wget下载整个网站

linux下可以用wget下载整个网站,而且网站链接中包含utf-8编码的中文也能正确处理. 简要方法记录如下: wget --restrict-file-name=ascii -m -c -nv -np -k -E -p -R=exe,zip http://www.xxx.com 参数释义如下: --restrict-file-name=ascii ,将文件名保存为ASCII格式.这样能避免utf-8文件名带来的麻烦(注:1.12版才支持ascii参数值) -m 整站下载,mirror的缩写,

python SSL访问网站代码

经常遇到要用Python访问SSL网站,这是一个简单的代码,几行就搞定了! import socket import ssl sock = ssl.wrap_socket(socket.socket()) sock.connect(('www.test.com', 443))#其中www.test.com要访问的网站 data = 'xxxxx'#data为要发送的数据 sock.sendall(data)recv_data = sock.recv(8192) sock.close() prin

Python下载Yahoo!Finance数据

Python下载Yahoo!Finance数据的三种工具: (1)yahoo-finance package. (2)ystockquote. (3)pandas.

python 登陆一个网站

今天想用python写一个登陆的脚本,搜了一下,网上挺多的,看了一些后写了个登陆虎扑论坛的脚本. 原理: 只要在发送http请求时,带上含有正常登陆的cookie就可以了. 1.首先我们要先了解cookie的工作原理. Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie).Cookie名称和值可以由服务器端开发自己定义,

python下载pps视频

简单的python下载脚本 思路 视频播放地址提取 直接解析一下原网页的源文件,利用正则就可以得到所有视频的播放地址,下面的代码以微信公共平台python教程的播放地址为例. 视频链接提取 这里利用了飞驴视频下载API进行视频链接提取,按照API的格式填写相关参数就ok了 视频下载并保存 使用urllib.urlretrieve函数保存视频就可以了 源代码 源代码贴出来,大家相互学习一下.代码比较简单,是按照上面的思路一步步做的,这里就不详细解释了 ```python !/usr/bin/env

python 登陆小米网站

参考资料: python登陆163: http://www.oschina.net/code/snippet_144709_23591 Requests: http://cn.python-requests.org/zh_CN/latest/ ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #coding:u