python的urllib2 模块解析

python是蜘蛛之王,蜘蛛离不开urllib。 urllib2 是urllib 的另一个版本,有很多改进。 听说内部代码也好了很多。

urllib2是python自带的一个访问网页和本地文件的库。 简单使用如下:

访问一个网址:

 
 
  1. import urllib2
  2. f=urllib2.urlopen("http://www.jeapedu.com")
  3. buf = f.read()

读一个本地文件:

 
 
  1. import urllib2
  2. f=urllib2.urlopen('file:./a.txt')
  3. buf=f.read()

如何获取库有那些函数或者类:

 
 
  1. >>> dir(f)
  2. ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', 'fileno', 'fp', 'getcode', 'geturl', 'headers', 'info', 'next', 'read', 'readline', 'readlines', 'url']
  3. >>>

中文地址解析:

 
 
  1. h4 = u'http://www.baidu.com?w=测试'
  2. h4=h4.encode('utf-8')
  3. urllib2.urlopen(h4)

最好用正确的编码转换一下。 上面的例子如果不用转换的函数处理一下网址,会导致urlopen 失败。

分类操作

FTP

 
 
  1. handler = urllib2.FTPHandler()
  2. request = urllib2.Request(url='ftp://ftp.ubuntu.com/')
  3. opener = urllib2.build_opener(handler)
  4. f = opener.open(request)
  5. print f.read()

如果需要用户名和密码:

 
 
  1. urllib2.Request(url='ftp://用户名:密码@ftp地址/')

HTTP

 
 
  1. handler = urllib2.HTTPHandler()
  2. request = urllib2.Request(url='http://ftp.ubuntu.com/')
  3. opener = urllib2.build_opener(handler)
  4. f = opener.open(request)
  5. print f.read()

支持 headers

 
 
  1. #coding=utf-8
  2. import urllib2
  3. request = urllib2.Request(url='http://192.168.2.201:8000/hd.txt')
  4. request.add_header('Accept-encoding', 'gzip')
  5. f = urllib2.urlopen(request)
  6. print f.read()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值