新聞中心
在python3中,urllib和urllib2進(jìn)行了合并,現(xiàn)在只有一個(gè)urllib模塊,urllib和urllib2的中的內(nèi)容整合進(jìn)了urllib.request,urlparse整合進(jìn)了urllib.parse。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括平?jīng)鼍W(wǎng)站建設(shè)、平?jīng)鼍W(wǎng)站制作、平?jīng)鼍W(wǎng)頁制作以及平?jīng)鼍W(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,平?jīng)鼍W(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到平?jīng)鍪》莸牟糠殖鞘校磥硐嘈艜?huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
urlparse 將urlstr解析成各個(gè)組件
import urllib.request import urllib.parse url = "http://www.baidu.com" parsed = urllib.parse.urlparse(url) print(parsed) #輸出:ParseResult(scheme='http', netloc='www.baidu.com', path='', params='', query='', fragment='')
urljoin(baseurl,newurl,allowFrag=None) 將url的根域名和新url拼合成一個(gè)完整的url
import urllib.parse url = "http://www.baidu.com" new_path = urllib.parse.urljoin(url,"index.html") print(new_path) #輸出:http://www.baidu.com/index.html
urlopen(url,data,timeout) 打開一個(gè)url的方法,返回一個(gè)文件對(duì)象,然后可以進(jìn)行類似文件對(duì)象的操作
import urllib.request
req = urllib.request.urlopen('http://www.baidu.com')
print(req.read())read() , readline() , readlines() , fileno() , close()
info():返回一個(gè)httplib.HTTPMessage 對(duì)象,表示遠(yuǎn)程服務(wù)器返回的頭信息。 getcode():返回Http狀態(tài)碼,如果是http請(qǐng)求,200表示請(qǐng)求成功完成;404表示網(wǎng)址未找到。 geturl():返回請(qǐng)求的url。
urlretrieve(url,filename,reporthook,data) 下載url定位到的html文件,不寫路徑filename則會(huì)被存為臨時(shí)文件可以用 urllib.urlcleanup() 來清理緩存
file_name = urllib.request.urlretrieve('http://www.baidu.com','%s/baidu.html'%BASE_DIR)urlencode() 將dict中的鍵值對(duì)以連接符&劃分
import urllib.parse
dic = {'name':'melon','age':18}
data = urllib.parse.urlencode(dic)
print(data) #age=18&name=melonGET請(qǐng)求
GET請(qǐng)求 和我們平常get訪問方式一樣,直接把參數(shù)寫到網(wǎng)址上面就好了
import urllib.request
import urllib.parse
dic = {'name':'melon','age':18}
data = urllib.parse.urlencode(dic)
req = urllib.request.urlopen('http://127.0.0.1:8000/index?%s'%data)
content = req.read()POST請(qǐng)求
import urllib.request
import urllib.parse
import json
dic = {'name':'melon','age':18}
data = urllib.parse.urlencode(dic)
req = urllib.request.Request('http://127.0.0.1:8000/index', data.encode())
opener = urllib.request.urlopen(req)
content = json.loads(opener.read().decode())當(dāng)你 urllib.urlopen一個(gè) https 的時(shí)候會(huì)驗(yàn)證一次 SSL 證書,當(dāng)目標(biāo)使用的是自簽名的證書時(shí)就會(huì)出現(xiàn)一個(gè)URLError,如果是這樣可以在開頭加上
import ssl ssl._create_default_https_context = ssl._create_unverified_context
網(wǎng)站名稱:創(chuàng)新互聯(lián)Python教程:python的urllib怎么用
當(dāng)前地址:http://m.5511xx.com/article/cdijhsg.html


咨詢
建站咨詢
