from urllib import requestfrom 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 方法啟用生成器。這...