欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中urllib模塊用法實例詳解

 更新時間:2014年11月19日 11:29:06   投稿:shichen2014  
這篇文章主要介紹了python中urllib模塊用法,以實例形式詳細分析了python中urllib模塊代替PHP的curl操作方法,具有不錯的借鑒價值,需要的朋友可以參考下

本文實例講述了python中urllib模塊用法。分享給大家供大家參考。具體分析如下:

一、問題:

近期公司項目的需求是根據客戶提供的api,我們定時去獲取數據, 之前的方案是用php收集任務存入到redis隊列,然后在linux下做一個常駐進程跑某一個php文件, 該php文件就一個無限循環(huán),判斷redis隊列,有就執(zhí)行,沒有就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']

發(fā)現第一次訪問所需要的時間為[Finished in 3.0s]
而第二次訪問的時間為[Finished in 0.2s]
可見python的urllib模塊是加有緩存的
urllib/2用法典型的例子
復制代碼 代碼如下:
    import urllib2
    import cookielib
    import urllib

    class Hi_login:
        def __init__(self):
            cookie = cookielib.CookieJar()
            self.cookie = urllib2.HTTPCookieProcessor(cookie) ##### 生成cookie ###

        def login(self,user,pwd):
            url='http://passport.baidu.com/?login'
            postdata=urllib.urlencode({
          'mem_pass':'on',
       
          'password':pwd
           'Submit':'',
          'tpl':'sp',
          'tp_reg':'sp',
          'u' :'http://hi.baidu.com',
          'username':user})
            ### proxy_support = urllib2.ProxyHandler({"http":"http://ahad-haam:3128"}) 然后加入opener方法里####
            opener = urllib2.build_opener(self.cookie) ### 使用cookie ###
            headers = { ####### dict結構,可以加入x-forward-for甚至refer等 #######
           'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
            urllib2.install_opener(opener)
            request = urllib2.Request(url,urllib.urlencode(postdata),headers = headers)
            urllib2.urlopen(request)
    if __name__=='__main__':
       pwd='123456'
       user='xiaofu'
       test=Hi_login()
       test.login(user,pwd)


假如訪問需要認證的頁面比如nagios監(jiān)控頁面等,
復制代碼 代碼如下:
    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程序設計有所幫助。

相關文章

  • Python實現快速排序的方法詳解

    Python實現快速排序的方法詳解

    這篇文章主要介紹了Python實現快速排序的方法,結合實例形式詳細分析了快速排序的思路、原理及Python具體實現技巧與相關操作注意事項,需要的朋友可以參考下
    2019-10-10
  • Pytorch上下采樣函數--interpolate用法

    Pytorch上下采樣函數--interpolate用法

    這篇文章主要介紹了Pytorch上下采樣函數--interpolate用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python實現查找所有程序的安裝信息

    python實現查找所有程序的安裝信息

    本文給大家分享的是使用python通過注冊表信息實現快速查找windows應用程序的安裝信息的方法和代碼示例,有需要的小伙伴可以參考下
    2020-02-02
  • 對python3.4 字符串轉16進制的實例詳解

    對python3.4 字符串轉16進制的實例詳解

    今天小編就為大家分享一篇對python3.4 字符串轉16進制的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Pandas告警UserWarning:pandas?only?supports?SQLAlchemy?connectable處理方式

    Pandas告警UserWarning:pandas?only?supports?SQLAlchemy?conn

    這篇文章主要給大家介紹了關于Pandas告警UserWarning:pandas only supports SQLAlchemy connectable的處理方式,文中還分享了pandas還有哪些userwarning,對大家學習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-02-02
  • Python面向對象之接口、抽象類與多態(tài)詳解

    Python面向對象之接口、抽象類與多態(tài)詳解

    這篇文章主要介紹了Python面向對象之接口、抽象類與多態(tài),結合實例形式詳細分析了Python面向對象中接口、抽象類及多態(tài)的概念、用法及相關操作注意事項,需要的朋友可以參考下
    2018-08-08
  • Python jieba庫用法及實例解析

    Python jieba庫用法及實例解析

    這篇文章主要介紹了Python jieba庫用法及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python 移動光標位置的方法

    Python 移動光標位置的方法

    今天小編就為大家分享一篇Python 移動光標位置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • OpenCV 使用imread()函數讀取圖片的六種正確姿勢

    OpenCV 使用imread()函數讀取圖片的六種正確姿勢

    這篇文章主要介紹了OpenCV 使用imread()函數讀取圖片的六種正確姿勢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • pytorch之pytorch?hook和關于pytorch?backward過程問題

    pytorch之pytorch?hook和關于pytorch?backward過程問題

    這篇文章主要介紹了pytorch之pytorch?hook和關于pytorch?backward過程問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論