`
wwweducn
  • 浏览: 29756 次
文章分类
社区版块
存档分类
最新评论

数据、路径-urllib库 -by小雨

阅读更多

最近应用开发的过程中出现了一个小问题,顺便记录一下原因和方法--数据、路径-

    参考网上分析

    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与互联网,经典与您分享!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics