最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3中urlopen()的用法解讀

 更新時間:2023年03月14日 09:10:59   作者:網(wǎng)絡(luò)毒劉  
這篇文章主要介紹了Python3中urlopen()的用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

一、簡介

urllib.request.urlopen()函數(shù)用于實(shí)現(xiàn)對目標(biāo)url的訪問。

函數(shù)原型如下:

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

  • url:  需要打開的網(wǎng)址
  • data:Post提交的數(shù)據(jù)
  • timeout:設(shè)置網(wǎng)站的訪問超時時間

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

二、函數(shù)參數(shù)介紹

  • url 參數(shù):目標(biāo)資源在網(wǎng)路中的位置。可以是一個表示URL的字符串;也可以是一個urllib.request對象,詳細(xì)介紹請?zhí)D(zhuǎn)
  • data參數(shù):data用來指明發(fā)往服務(wù)器請求中的額外的參數(shù)信息(如:在線翻譯,在線答題等提交的內(nèi)容),data默認(rèn)是None,此時以GET方式發(fā)送請求;當(dāng)用戶給出data參數(shù)的時候,改為POST方式發(fā)送請求。
  • timeout:設(shè)置網(wǎng)站的訪問超時時間
  • cafilecapath、cadefault 參數(shù):用于實(shí)現(xiàn)可信任的CA證書的HTTP請求。(基本上很少用)
  • context參數(shù):實(shí)現(xiàn)SSL加密傳輸。(基本上很少用)

三、返回處理方法詳解

urlopen返回對象提供方法:

read() , readline() ,readlines() , fileno() , close() :對HTTPResponse類型數(shù)據(jù)進(jìn)行操作

  • info():返回HTTPMessage對象,表示遠(yuǎn)程服務(wù)器返回的頭信息
  • getcode():返回Http狀態(tài)碼。如果是http請求,200請求成功完成;404網(wǎng)址未找到
  • geturl():返回請求的url

四、版本區(qū)別, 注意事項(xiàng)

python2和python3在導(dǎo)入urlrequest的方式都不一樣。 

python2是這樣:import urllib2 

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

五、實(shí)例

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

data自定義,data格式轉(zhuǎn)換,數(shù)據(jù)的編碼encode()和解碼decode()。

#coding=utf-8
#Python3.x
'''
利用有道翻譯進(jìn)行在線翻譯
'''
import urllib.request
import urllib.parse
import json
def traslate(words):
    #目標(biāo)URL
    targetURL = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"
    #用戶自定義表單,words表示的是用戶要翻譯的內(nèi)容。這里使用的是dict類型,也可以使用元組列表(已經(jīng)試過的)。
    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轉(zhuǎn)換成標(biāo)準(zhǔn)格式
    data = urllib.parse.urlencode(data).encode('utf-8')
    #發(fā)送用戶請求
    html = urllib.request.urlopen(targetURL, data)
    #讀取并解碼內(nèi)容
    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("翻譯結(jié)果是:%s"%result)

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何使用python統(tǒng)計字符在文件中出現(xiàn)的次數(shù)

    如何使用python統(tǒng)計字符在文件中出現(xiàn)的次數(shù)

    在開發(fā)過程中很多時候我們有統(tǒng)計單個字符或者字符串在另一個字符串中出現(xiàn)次數(shù)的需求,下面這篇文章主要給大家介紹了關(guān)于如何使用python統(tǒng)計字符在文件中出現(xiàn)的次數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • python中的zip模塊

    python中的zip模塊

    這篇文章主要介紹了zip文件格式是通用的文檔壓縮標(biāo)準(zhǔn),在ziplib模塊中,使用ZipFile類來操作zip文件,感興趣的朋友參考如下
    2021-08-08
  • 用Python繪制一個仿黑洞圖像

    用Python繪制一個仿黑洞圖像

    黑洞圖像大家都知道,畢竟前幾年剛發(fā)布的時候曾火遍全網(wǎng),甚至都做成表情包了。本文就來用Python繪制一個仿黑洞圖像,希望大家能夠喜歡
    2023-02-02
  • Python自然語言處理庫之NLTK庫初級教程

    Python自然語言處理庫之NLTK庫初級教程

    NLTK(Natural Language Toolkit)是一個Python庫,用于實(shí)現(xiàn)自然語言處理(NLP)的許多任務(wù),NLTK包括一些有用的工具和資源,如文本語料庫、詞性標(biāo)注器、語法分析器等,在這篇初級教程中,我們將了解NLTK的基礎(chǔ)功能,需要的朋友可以參考下
    2023-08-08
  • Python中使用haystack實(shí)現(xiàn)django全文檢索搜索引擎功能

    Python中使用haystack實(shí)現(xiàn)django全文檢索搜索引擎功能

    django是python語言的一個web框架,功能強(qiáng)大。配合一些插件可為web網(wǎng)站很方便地添加搜索功能。下面通過本文給大家分享Python中使用haystack實(shí)現(xiàn)django全文檢索搜索引擎功能,感興趣的朋友一起看看吧
    2017-08-08
  • Python類綁定方法及非綁定方法實(shí)例解析

    Python類綁定方法及非綁定方法實(shí)例解析

    這篇文章主要介紹了Python類綁定方法及非綁定方法實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • python中argparse模塊基礎(chǔ)及使用步驟

    python中argparse模塊基礎(chǔ)及使用步驟

    argsparse是python的命令行解析的標(biāo)準(zhǔn)模塊,內(nèi)置于python,不需要安裝。這個庫可以讓我們直接在命令行中就可以向程序中傳入?yún)?shù)并讓程序運(yùn)行,接下來通過本文給大家介紹python argparse模塊的相關(guān)知識,感興趣的朋友一起看看吧
    2022-06-06
  • Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例

    Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法,結(jié)合實(shí)例形式總結(jié)分析了Python插入排序,冒泡排序,快速排序,選擇排序等算法的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2019-05-05
  • 利用Python輕松解析XML文件

    利用Python輕松解析XML文件

    XML文件在數(shù)據(jù)處理和配置存儲中非常常見,但手動解析它們可能會讓人頭疼,Python提供了多種簡單高效的方法來處理XML文件,下面小編就來和大家詳細(xì)介紹一下吧
    2025-04-04
  • 使用Python實(shí)現(xiàn)微信拍一拍功能的思路代碼

    使用Python實(shí)現(xiàn)微信拍一拍功能的思路代碼

    這篇文章主要介紹了使用Python實(shí)現(xiàn)微信“拍一拍”的思路代碼,,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07

最新評論

郎溪县| 溧阳市| 鄄城县| 朔州市| 济南市| 大关县| 永和县| 孟村| 北安市| 邓州市| 石嘴山市| 四川省| 靖西县| 武威市| 建阳市| 涟水县| 容城县| 西充县| 黄冈市| 蒙山县| 陕西省| 翼城县| 彰化县| 溆浦县| 马鞍山市| 绵竹市| 依兰县| 平果县| 马尔康县| 南汇区| 安塞县| 银川市| 车致| 抚州市| 潮州市| 祁东县| 南华县| 长泰县| 扬中市| 将乐县| 内江市|