python 网络编程——urllib,urllib2简单运用

知识点一:字典

字典呢就是一种数据结构,我们也可以将它称作映射,可以储存任意类型对象。它是由一个键/值对组成,举个通俗一点的例子,以我们的电话簿为例,值==电话,键==姓名。

需要注意的是在字典中,所有的键都最多只能出现一次,此外,与集合不同,所有键必须是不可变的(而与之对应的值则没有这种限制)。

将键/值对放到一对花括号中即可创建出字典,例如:

>>>bird={ 'number':3, 'color': white}

>>>bird['number']

>>>3

此外,空字典为{},在字典中索引一个并不存在的键将会引发一个error,如同列表的越界索引一样。


知识点二:web应用(客户端/服务器)

web应用遵循客户端/服务器架构。我们这儿说的web客户端是指一个浏览器,它允许用户在万维网上查询文档。另一边的web服务器端则是运行在信息提供商的主机上的进程,这些服务器等待客户端以及其文档请求,进行相应的处理。

客户端可以向web服务器端发出各种不同的请求,这些请求可能包括提交一个数据表单或者获取一份网页视图(举这两个例子的原因是待会我们做的练手项目将会用到它们)。web服务器端首先处理请求,然后会以特定的格式(HTML)返回给客户端浏览。

web客户端和服务器端交互所用到的语言为:HTTP(超文本传输),他是TCP/IP的上层协议。需要注意的是HTTP属于无状态协议,因为其不跟踪一个客户端到另一个客户端的请求信息,也就是说服务器不记得一个请求和下一个请求之间的任何事情,如果应用程序想要跟踪一些信息,就必须自己跟踪,最常见的方法是使用cookie,我们在这就不多讲了。另外,关于HTTP需要多讲的是:一个URL我们用参数来补充,以提供更多的信息,例如使用搜索引擎是,细心的朋友会发现,在跳转界面的URL上会看见一种类似key=value的格式,例如:http://www.google.ca?1=php,就是在谷歌相关界面查询PHP的资料。

除此之外,在解释一下进程与线程:

1、首先,计算机程序只是储存在磁盘上的可执行二进制文件,只有把它加载到内存中并被操作系统调用才拥有其生命周期。进程则是一个执行中的程序。每个进程都拥有自己的地址空间,内存,数据栈以及其他用于跟踪执行的辅助数据。

2、线程与进程类似,不过它们是在同一个进程下执行的,共享上下文,一个线程包括开始、执行顺序和结束三部分,当其他线程运行时,它可以被抢占(中断)和临时挂起。


知识点三:urllib,urllib2模块/包

urllib模块提供了许多函数,可用于从指定URL下载数据,同时也可以对字符串进行编码、解码。

1、urllib.urlopen()

urlopen()打开一个给定URL字符串的web链接,并返回文件类型对象,例如:

>>>import urllib

>>>urllib.urlopen('www.baidu.com')

分享一小段代码,用来查询LOL战绩:

def get_zhanji():
name = str(et.get())
res = urllib2.urlopen('http://api.lolbox.duowan.com/api/v2/player/search/?player_name_list=%s&callback=jQuery111202094132792311676_1470488541527&_=1470488541528'%(name))
html = res.read()[42:-1]
zhanji = json.loads(html)[u'player_list']
#print zhanji
t.delete(0.0,END) 
for i in zhanji:
#print '服务器:%s   当前战力:%s'%(i['game_zone']['alias'],i['box_score'])
#print '当前段位:%s'%(i['tier_rank']['tier']['full_name_cn']+i['tier_rank']['rank']['name'])
t.insert(END,'服务器:%s   当前战力:%s'%(i['game_zone']['alias'],i['box_score']))
t.insert(END,'当前段位:%s\n'%(i['tier_rank']['tier']['full_name_cn']+i['tier_rank']['rank']['name']))


****************************************************************************************************************************************************************************************

知识点到此结束,下一篇博客会接着将Python网络编程,除了本篇博客上所涉及到的知识外,还会有部分的正则表达式的运用,除此之外,还会给大家分享一个小程序,主要运用到的模块是:

Tkinter
tkMessageBox
re
urllib,urllib2


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值