最近应用开发的过程中出现了一个小问题,顺便记录一下原因和方法--数据、路径-
参考网上分析
1. urllib.urlopen( url[ , data[ , proxies] ] )
建创一个程远url的类件文的对象,可以像当地件文一样操纵这个类件文对象来获得程远数据。
url : 表现程远数据的路径,一般为网址
data : 以post方法提交到url的数据,较少用到
proxies : 用于置设理代
urlopen回返对象供给方法:
read(), readline(), readlines(), fileno(), close() : 这些方法的应用方法与件文对象全完一样
info() : 回返一个httplib.HTTPMessage对象,表现程远服务器回返的头信息
getcode() : 回返Http状态码。 pythone2.6版本以上
geturl() : 回返请求的url
import urllib url = "www.baidu.com" proxies = {'http' : 'http://www.someproxy.com:3128'} filehandle = urllib.urlopen(url, proxies = proxies) filehandle = urllib.urlopen(url) print filehandle.read() print filehandle.info() print filehandle.getcode() filehandle.close()
附带的其它方法: (主要是url编码解码)
urllib.quote(string[ , safe]) : 对字符串行进编码。参数safe指定了不需要编码的字符
urllib.unquote(string) : 对字符串行进解码
urllib.quote_plus(string[ , safe]) : 与urllib.quote相似,但这个方法用'+'来替换' ',而quote用'%20'来替代' '
urllib.unquote_plus(string ) :对字符串行进解码
urllib.urlencode(query[, doseq]):将dict或者含包两个元素的组元表列转换成url参数。例如 字典{'name': 'wklken', 'pwd': '123'}将被转换为"name=wklken&pwd=123"
urllib.pathname2url(path):将当地路径转换成url路径
urllib.url2pathname(path):将url路径转换成当地路径
# coding=gbk import urllib import sys s = "马伊琍" s2 = s.decode(sys.stdin.encoding).encode("utf8") keyword=urllib.quote(s2) page=urllib.urlopen("http://www.baidu.com/s?wd="+keyword+"&pn=100&rn=20&ie=utf-8&usm=4&rsv_page=1") print page.geturl() hfile = open("E:\\1.htm","w") hfile.write(page.read()) page.close() hfile.close()
2.urllib.urlretrieve(url[, filename[, reporthook[, data]]])
将程远数据下载到当地
filename指定保存到当地的路径(若未指定该,urllib生成一个临时件文保存数据)
reporthook调回函数,当连接上服务器、以及应相的数据块传输毕完的时候会发触该调回
data指post到服务器的数据
该方法回返一个含包两个元素的组元(filename, headers),filename表现保存到当地的路径,header表现服务器的应响头
import urllib s = urllib.urlretrieve("http://images.china.cn/news/attachement/jpg/site3/20111028/879003781387041495.jpg","E:\\1.jpg") for item in s: print item
文章结束给大家分享下程序员的一些笑话语录: 这年头的互联网真是娱乐了中国,网民们从各种各样的“门”里钻来钻去,又有好多“哥”好多“帝”,值得大家品味不已……网络经典语录,关于IT与互联网,经典与您分享!
相关推荐
离线安装包,亲测可用
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Python3中将python2.7的urllib和urllib2两个包合并成了⼀个urllib库,其主要包括⼀下模块: urllib.request 请求模块 urllib.error 异常处理模块 urllib.parse url解析模块 urllib.robotparser robots.txt解析模块 ...
官方离线安装包,亲测可用
Python爬虫实例-urllib,request,parse,json等包的应用
howto-urllib2.pdf
nodejs urllib 库
import urllib.request keywd="python"#英文编码,如果中文按照下面搜索 url="http://blog.csdn.net/csdnsevenn/article/details/97842166"#记得不能带S req=urllib.request.Request(url) data=urllib.request....
官方离线安装包,亲测可用
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
离线安装包,亲测可用
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装