python3 urlopen開啟包含中文的url

2022-08-30 17:21:16 字數 654 閱讀 7450

from urllib import request

from urllib.parse import quote

import string

class htmldownload(object):

def download(self, new_url):

if new_url is none:

return

s = quote(new_url,safe=string.printable)    #用quote轉換

resp = request.urlopen(s)

if resp.status != 200:

return

return resp.read().decode('utf-8')

方法quote的引數safe表示可以忽略的字元。

string.printable表示ascii碼第33~126號可列印字元,其中第48~57號為0~9十個阿拉伯數字;65~90號為26個大寫英文本母,97~122號為26個小寫英文本母,其餘的是一些標點符號、運算符號等。

如果不設定這個safe引數,』糖尿病』會被轉換為 

而不是』%e7%b3%96%e5%b0%bf%e7%97%85』

上面的是網上找來的

Python 3 6 之 urlopen方法的學習

1.urlopen的使用原始碼 def urlopen url,data none,timeout socket.global default timeout,cafile none,capath none,cadefault false,context none 其中重要引數 data 請求中附加...

python下配置matplotlib開發環境

python下安裝好matplotlib模組後,可以成為非常優秀的作圖工具,就像matlab一樣。下面介紹一下matplotlib模組的詳細安裝步驟 1 安裝python 雖然目前python版本已經更新到了puthon3.4,但是仍然建議安裝python2.7,此外,考慮到後續安裝matplotl...

python 測開 協程

生成器原理 使用生成器實現多工 gevent實現非同步 協程核心思想 asyncio實現非同步 從python2到python3,協程經歷了翻天覆地的變化。協程的底層架構是在 pep 342 中定義,在 python2.5 實現的。實現思想 使用yield掛起生成器,使用send 方法啟用生成器。這...