Urllib模块

Urllib模块

1)urllib.urlopen()打开一个url方法,返回一个文件对象
>>> f=urllib.urlopen('http://www.baidu.com')
>>> first=f.readline()  读取htmL页面的第一行
>>> first
'<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta content="always" name="referrer"><meta name="theme-color" content="#293

2

>>> f1=f.info() 表示远程服务器返回的头信号
>>> f1
<httplib.HTTPMessage instance at 0x1c1b710>
>>> f=f.getcode()  返回HTTP状态码
>>> f
200

3)urlretrieve()方法将url定位的html文件下载到本地的硬盘中,如果不指定filename,则会存为临时文件
AttributeError: 'int' object has no attribute 'geturl'

>>> filename=urllib.urlretrieve('http://www.baidu.com',filename='/mnt/newfile')
>>> type(filename)
<type 'tuple'>

Urlretrieve()返回一个二元祖(filename,mine_hdrs)

4)urllib.urlcleanup()
清除由于urllib.urlretrieve()所产生的缓存

5)urllib.quote(url)和urllib.quote_plus(url)
将url数据获取以后,并将其 编码,从而适用与URL字符串中,

>>> urllib.quote('http://www.baidu.com')
'http%3A//www.baidu.com'
>>> urllib.quote_plus('http://www.baidu.com')
'http%3A%2F%2Fwww.baidu.com'

6)urllib.urlencode(query)
将url中的健值对以连接符&划分,这里可以结合post,get方法
GET方法

>>> params=urllib.urlencode({'spam':1,'egg':2,'bacon':3})
>>> params
'bacon=3&egg=2&spam=1'
 f=urllib.urlopen("http://172.25.254.153?%s"%params)
>>> print f.read()

POST方法

>>> f=urllib.urlopen("http://172.25.254.153/",params)
>>> print f.read()
原文地址:https://www.cnblogs.com/hanfei-1005/p/5708194.html