博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python urllib模块学习笔记
阅读量:6717 次
发布时间:2019-06-25

本文共 1632 字,大约阅读时间需要 5 分钟。

这个模块是最基本最常用的,以前看过,总结一下

#
 coding : utf-8
import urllib
url = 
'
http://cnblogs.com
'
#
代理服务器
proxies = {
'
http
':
'
http://127.0.0.1:8087
'}
#
使用代理服务器打开
r = urllib.urlopen(url,proxies = proxies)
print r.info()
print r.getcode()
print r.geturl()
#
打开本地文件
f = urllib.urlopen(url = 
'
file:/home/ma6174/a.sh
')
print f.read()
#
打开ftp
#
f = urllib.urlopen(url = 'ftp://username:password@ftpaddress')
#
保存网页并显示进度
def cbk(a, b, c):
        
'''
        a: num
        b: size
        c: total
        
'''
        per = 100.0*a*b/c
        
if per > 100:
                per = 100
        
print 
'
%.2f%%
' % per
local = 
'
cnblogs.html
'
urllib.urlretrieve(url,local,cbk)
#
get方法
params = urllib.urlencode({
'
spam
': 1, 
'
eggs
': 2, 
'
bacon
': 0})
f = urllib.urlopen(
"
http://www.musi-cal.com/cgi-bin/query?%s
" % params)
print f.read()
#
post方法
params = urllib.urlencode({
'
spam
': 1, 
'
eggs
': 2, 
'
bacon
': 0})
f = urllib.urlopen(
"
http://www.musi-cal.com/cgi-bin/query
", params)
print f.read()
#
编码解码
data = 
'
name = ~a+3
'  
data1 = urllib.quote(data)   
print data1 
#
 result: name%20%3D%20%7Ea%2B3   
print urllib.unquote(data1) 
#
 result: name = ~a+3   
  
data2 = urllib.quote_plus(data)   
print data2 
#
 result: name+%3D+%7Ea%2B3   
print urllib.unquote_plus(data2)    
#
 result: name = ~a+3   
  
data3 = urllib.urlencode({ 
'
name
'
'
dark-bull
'
'
age
': 200 })   
print data3 
#
 result: age=200&name=dark-bull   
  
data4 = urllib.pathname2url(r
'
d:/a/b/c/23.php
')   
print data4 
#
 result: ///D|/a/b/c/23.php   
print urllib.url2pathname(data4)    
#
 result: D:/a/b/c/23.php  


博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处

对文章有啥看法或建议,可以评论或发电子邮件到ma6174@163.com


本文转自ma6174博客园博客,原文链接:http://www.cnblogs.com/ma6174/archive/2012/07/24/2606018.html
,如需转载请自行联系原作者
你可能感兴趣的文章
重构:改善既有代码的设计 精彩书评二
查看>>
框架与CSRF防御
查看>>
Eclipse汉化
查看>>
MongoDB入门
查看>>
linux操作界面配置
查看>>
命名管道操作
查看>>
Linux下的磁盘使用情况
查看>>
python基础 -- acm
查看>>
android第一天
查看>>
湖南卫视邮件服务器架设方案
查看>>
LoadRunner11破解详解
查看>>
排序算法 时间、空间复杂度
查看>>
集合框架(集合的继承体系图解)
查看>>
Win32应用程序(SDK)设计原理详解
查看>>
windows serve 2012部署操作系统之部署前期准备(九)
查看>>
JFinal整合HTTL模板引擎
查看>>
“Object "netns" is unknown, try "ip help".\n'”报错
查看>>
SQL语句中----删除表数据drop、truncate和delete的用法
查看>>
零零散散学算法之详解几种数据存储结构
查看>>
我的友情链接
查看>>