91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3中的urlopen()怎么使用

發布時間:2023-03-14 11:37:32 來源:億速云 閱讀:99 作者:iii 欄目:開發技術

本篇內容介紹了“Python3中的urlopen()怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、簡介

urllib.request.urlopen()函數用于實現對目標url的訪問。

函數原型如下:

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None) 

  • url:  需要打開的網址

  • data:Post提交的數據

  • timeout:設置網站的訪問超時時間

直接用urllib.request模塊的urlopen()獲取頁面,page的數據格式為bytes類型,需要decode()解碼,轉換成str類型。

二、函數參數介紹

  • url 參數:目標資源在網路中的位置。可以是一個表示URL的字符串;也可以是一個urllib.request對象,詳細介紹請跳轉

  • data參數:data用來指明發往服務器請求中的額外的參數信息(如:在線翻譯,在線答題等提交的內容),data默認是None,此時以GET方式發送請求;當用戶給出data參數的時候,改為POST方式發送請求。

  • timeout:設置網站的訪問超時時間

  • cafilecapathcadefault 參數:用于實現可信任的CA證書的HTTP請求。(基本上很少用)

  • context參數:實現SSL加密傳輸。(基本上很少用)

三、返回處理方法詳解

urlopen返回對象提供方法:

read() , readline() ,readlines() , fileno() , close() :對HTTPResponse類型數據進行操作

  • info():返回HTTPMessage對象,表示遠程服務器返回的頭信息

  • getcode():返回Http狀態碼。如果是http請求,200請求成功完成;404網址未找到

  • geturl():返回請求的url

四、版本區別, 注意事項

python2和python3在導入urlrequest的方式都不一樣。 

python2是這樣:import urllib2 

而python3里面把urllib分開了,分成了urlrequest和urlerror,在這里我們只需導入urlrequest即可。from urllib.request import urlopen

五、實例

下面這個程序,實現了urlopen()函數的大部分功能,特別是data參數。

data自定義,data格式轉換,數據的編碼encode()和解碼decode()。

#coding=utf-8
#Python3.x
'''
利用有道翻譯進行在線翻譯
'''
import urllib.request
import urllib.parse
import json
def traslate(words):
    #目標URL
    targetURL = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"
    #用戶自定義表單,words表示的是用戶要翻譯的內容。這里使用的是dict類型,也可以使用元組列表(已經試過的)。
    data = {}
    data['type'] = 'AUTO'
    data['i'] = words
    data['doctype'] = 'json'
    data['xmlVersion'] = '1.8'
    data['keyfrom'] = 'fanyi.web'
    data['ue'] = 'UTF-8'
    data['action'] = 'FY_BY_CLICKBUTTON'
    data['typoResult'] = 'true'
    #將自定義data轉換成標準格式
    data = urllib.parse.urlencode(data).encode('utf-8')
    #發送用戶請求
    html = urllib.request.urlopen(targetURL, data)
    #讀取并解碼內容
    rst = html.read().decode("utf-8")
    rst_dict = json.loads(rst)
    return rst_dict['translateResult'][0][0]['tgt']
if __name__ == "__main__":
    print("輸入字母q表示退出")
    while True:
        words = input("請輸入要查詢的單詞或句子:\n")
        if words == 'q':
            break
        result = traslate(words)
        print("翻譯結果是:%s"%result)

“Python3中的urlopen()怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临泉县| 逊克县| 龙南县| 长泰县| 金沙县| 哈密市| 洛川县| 会泽县| 贵港市| 梁河县| 尉氏县| 徐州市| 德令哈市| 凯里市| 吴江市| 广南县| 涟水县| 聂荣县| 新源县| 原平市| 海兴县| 喀喇| 石楼县| 北京市| 内黄县| 宁安市| 潞城市| 左贡县| 天台县| 湾仔区| 蕉岭县| 阿拉善盟| 德令哈市| 镇安县| 普兰店市| 鄂尔多斯市| 纳雍县| 吉林市| 东阿县| 定安县| 钟祥市|