1>先看一下urllib.urlopen()。。。看一个小例子,抓取网页,写成html格式:
#-------PYTHON获取网页内容-------------#
import sys, urllib
url = "http://www.baidu.com"
wp = urllib.urlopen(url)#打开连接
content = wp.read()#获取页面内容
fp = open("C:\\htm.html","w")
fp.write(content)
fp.close()
其中用到的urlopen()打开一个特定的URL字符串与web连接,并返回了文件类的对象。语法结构如下:
urllib.urlopen(url[, data[, proxies]]) :
urlopen()的对象方法如下:
* read() :读取所有内容;
* readline():读出一行;
* readlines() :读出所有行并返回一个列表
* fileno():返回文件句柄
* close():关闭URL的连接
* info():返回一个httplib.HTTPMessage 对象,表示远程服务器返回的头信息;
* getcode():返回Http状态码。如果是http请求,200表示请求成功完成;404表示网址未找到;
* geturl():返回请求的url;
2>urllib.urlretrieve()
#下载网页的例子
import urllib
url = "http://www.baidu.com"
path = "C:\\web.html"
urllib.urlretrieve(url,path)
其语法结构是:urllib.urlretrieve(url[, filename[, reporthook[, data]]])
该方法返回一个2元组(filename, headers),filename表示保存到本地的路径,header表示服务
器的响应头。
3>其他的一些函数
* urllib.quote(string[, safe]):对字符串进行编码。参数safe指定了不需要编码的字符;
* urllib.unquote(string) :对字符串进行解码;
* urllib.quote_plus(string [ , safe ] ) :与urllib.quote类似,但这个方法用'+'来替换' ',而quote用'%20'来代替' '
* urllib.unquote_plus(string ) :对字符串进行解码;
* urllib.urlencode(query[, doseq]):将dict或者包含两个元素的元组列表转换成url参数。例如字典{'name': 'dark-bull', 'age': 200}将被转换为"name=dark-bull&age=200"
* urllib.pathname2url(path):将本地路径转换成url路径;
* urllib.url2pathname(path):将url路径转换成本地路径;