urllib模块中的方法

1.urllib.urlopen(url[,data[,proxies]])

打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作。本例试着打开google

>>> import urllib
>>> f = urllib.urlopen('http://www.google.com.hk/')
>>> firstLine = f.readline()   #读取html页面的第一行
>>> firstLine
'<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage"><head><meta content="/images/google_favicon_128.png" itemprop="image"><title>Google</title><script>(function(){\n'

urlopen返回对象提供方法:

-         read() , readline() ,readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样

-         info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息

-         getcode():返回Http状态码。如果是http请求,200请求成功完成;404网址未找到

-         geturl():返回请求的url

2.urllib.urlretrieve(url[,filename[,reporthook[,data]]])

urlretrieve方法将url定位到的html文件下载到你本地的硬盘中。如果不指定filename,则会存为临时文件。

urlretrieve()返回一个二元组(filename,mine_hdrs)

临时存放:

 
>>> filename = urllib.urlretrieve('http://www.google.com.hk/')
>>> type(filename)
<type 'tuple'>
>>> filename[0]
'/tmp/tmp8eVLjq'
>>> filename[1]
<httplib.HTTPMessage instance at 0xb6a363ec>

存为本地文件:

>>> filename = urllib.urlretrieve('http://www.google.com.hk/','file_name保存的文件名.html等')
>>> filename = urllib.urlretrieve('http://www.google.com.hk/',filename='/home/dzhwen/python文件/Homework/urllib/google.html')
>>> type(filename)
<type 'tuple'>
>>> filename[0]
'/home/dzhwen/python\xe6\x96\x87\xe4\xbb\xb6/Homework/urllib/google.html'
>>> filename[1]
<httplib.HTTPMessage instance at 0xb6e2c38c>

3.urllib.urlcleanup()

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

4.urllib.quote(url)和urllib.quote_plus(url)

将url数据获取之后,并将其编码,从而适用与URL字符串中,使其能被打印和被web服务器接受。

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

5.urllib.unquote(url)和urllib.unquote_plus(url)

与4的函数相反。

6.urllib.urlencode(query)

将URL中的键值对以连接符&划分

这里可以与urlopen结合以实现post方法和get方法:

GET方法:

>>> import urllib
>>> params=urllib.urlencode({'spam':1,'eggs':2,'bacon':0})
>>> params
'eggs=2&bacon=0&spam=1'
>>> f=urllib.urlopen("http://python.org/query?%s" % params)
>>> print f.read()

POST方法:

>>> import urllib
>>> parmas = urllib.urlencode({'spam':1,'eggs':2,'bacon':0})
>>> f=urllib.urlopen("http://python.org/query",parmas)
>>> f.read()

7.urllib.parse.parse_qs:

>>> import urllib
>>> params=urllib.urlencode({'spam':1,'eggs':2,'bacon':0})
>>> params = { 'wd' : '刘德华' }
>>> url = urllib.urlencode(params)
>>> request = urllib.parse.parse_qs(url)

8.urllib.parse和urlsplit:

python3 urllib.parse 常用函数

 1.获取url参数

  • urlparse
from urllib import parse

url = "https://docs.python.org/3.5/library/urllib.parse.html?highlight=parse#module-urllib.parse"
result = parse.urlparse(url)
print(result.query) # 获取返回结果参数内容
print(parse.parse_qs(result.query)) # 结果转换成字典
print(parse.parse_qsl(result.query)) # 结果转换成列表

返回的结果

2.url 编码

  • quote
from urllib import parse
print(parse.quote("@"))

3.url 解码

  • unquote
from urllib import parse
print(parse.unquote("%40"))

基本就这些,关于对象获取的方法就不赘述了。

urllib.parse解析

最新文章

  1. Xtrabackup流备份与恢复
  2. MFC消息响应机制 q
  3. Android:界面设计工具DroidDraw
  4. BestCoder Round #67 (div.2) N bulbs(hdu 5600)
  5. javascript判断NaN
  6. [selenium webdriver Java]检查元素是否存在
  7. android79 Fragment生命周期
  8. [转载]jQuery.extend 函数详解
  9. 关于vis标记
  10. JAVA编码互转(application/x-www-form-urlencoded)
  11. form表单老忘的
  12. sklearn.linear_model.LogisticRegression参数说明
  13. 【转】安全加密(二):BLE安全攻击反制措施
  14. 解决chkconfig设置开机启动时出现missing LSB的错误
  15. UNIX高级环境编程(15)进程和内存分配 &lt; 故宫角楼 &gt;
  16. JS判断客户浏览器是否是IE8浏览器、jQuery判断浏览器内核
  17. Python args **kwargs作用
  18. nginx反向代理和正向代理,优缺点
  19. openstack 环境搭建
  20. selenium 概念及练习 !

热门文章

  1. js判断是否安装某个android app,没有安装下载该应用(websocket通信,监听窗口失去焦点事件)
  2. 著名java博客
  3. 【读后感】读《漫谈“大学生的四个learn”》之后有感
  4. 页面中关于bootstrap框架的增删改查使用
  5. input file禁用手机本地文件选择,只允许拍照上传图片
  6. bootstrap的使用集锦
  7. C 语言 优先级
  8. spring boot tomcat 打本地包成war,通过Tomcat启动时出现问题: ZipException: error in opening zip file
  9. 嵌入式文件IO实验
  10. 慕课网c#开发轻松入门6-8最终项目