python中urllib模块用法实例详解
本篇章节讲解python中urllib模块用法。分享给大家供大家参考。具体分析如下: 一、问题: 近期公司项目的需求是根据客户提供的api,我们定时去获取数据, 之前的方案是用php收集任务存入到redis队列,然后在linux下做一个常驻进程跑某一个php文件, 该php文件就一个无限循环,判断redis队列,有就执行,没有就break. 二、解决方法: 最近刚好学了一下python,python的urllib模块或许比php的curl更快,而且简单. 贴一下代码 复制代码 代码如下: #_*_ coding:utf-8 _*_ import sys reload(sys) sys.setdefaultencoding( "utf-8" ) import os import json from urllib import urlopen doc = urlopen("http://xxxx?webid=1&tid=901&cateid=101").read() doc = json.loads(doc) print doc print doc.keys() print doc["msg"] print doc['data'] print doc['ret'] 发现第一次访问所需要的时间为[Finished in 3.0s] 而第二次访问的时间为[Finished in 0.2s] 可见python的urllib模块是加有缓存的 urllib/2用法典型的例子 复制代码 代码如下: import urllib2 import cookielib import urllib class Hi_login: def login(self,user,pwd): 假如访问需要认证的页面比如nagios监控页面等, 复制代码 代码如下: import urllib2 password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() url = "http://202.1.x.y/nagios" password_mgr.add_password(None,url,user='abc',passwd='xxxxxx') handler = urllib2.HTTPBasicAuthHandler(password_mgr) opener = urllib2.build_opener(handler) urllib2.install_opener(opener) f=urllib2.urlopen(url) print f.code 返回结果200,否则就是401认证错误 希望本文所述对大家的Python程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |