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/',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()

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

最新文章

  1. 【社工】NodeJS 应用仓库钓鱼
  2. Django之路由、模板和模型系统
  3. STL中算法
  4. 文件上传\&quot;&gt;将在3秒钟后返回前页
  5. Metasploit RPC服务共享
  6. QQ等级图标排名说明_QQ等级表,QQ最高等级(皇冠) qq到一星要5天
  7. TFS如何设置在客户端独占签出
  8. restsharp发送服务端请求回传session
  9. PHP创建桌面快捷方式实例
  10. elasticsearch 重启后,需要的操作
  11. PAT 团体程序设计天梯赛-练习集 L1-005. 考试座位号
  12. BZOJ1237: [SCOI2008]配对
  13. java Log日志规范
  14. php根据ip段以及子网掩码,判断某ip是否处于某子网下
  15. 相似QQ对话框上下部分可拖动代码
  16. vue学习笔记(二)——简单的介绍以及安装
  17. Java实现单向链表基本功能
  18. Linux入门:vi 和 vim
  19. 如何通过jQuery获取一个没有定高度的元素---------的自适应高度(offsetHeight的正确使用方法)
  20. Git从远程clone项目报错cannot open git-upload-pack,将http.sslVerify设为false即可

热门文章

  1. lightoj1234 打表技巧:分块打表
  2. Centos7上vsftp脚本--&gt; sh vsftp.sh 用户名 密码 --&gt; sh vsftp.sh install
  3. 远程执行shell脚本
  4. C++ Primer 笔记——数组
  5. 创建Python虚拟环境
  6. Win10 配置Tomcat与Java环境变量
  7. 设置git记住用户和密码
  8. .net core vs2015 vs2017打开后errpr
  9. 【Android】修改Android 模拟器IMEI
  10. excel追加数据