版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
使用urllib爬取網(wǎng)頁傳遞數(shù)據(jù)的方法通過url傳遞數(shù)據(jù)給服務(wù)器傳遞數(shù)據(jù)的方式主要分為:get()post()傳遞數(shù)據(jù)的方法通過url傳遞數(shù)據(jù)給服務(wù)器傳遞數(shù)據(jù)的方式主要分為:get()post()直接使用url訪問,在url中包含了所有參數(shù)。傳遞數(shù)據(jù)的方法通過url傳遞數(shù)據(jù)給服務(wù)器傳遞數(shù)據(jù)的方式主要分為:get()post()不會(huì)在url中顯示所有的參數(shù)。Contents素養(yǎng)目標(biāo)培養(yǎng)良好的信息素養(yǎng)和道德意識(shí)技能目標(biāo)熟悉urllib庫中處理get和post請求的方法知識(shí)目標(biāo)掌握urllib庫中處理get和post請求的原理URL編碼轉(zhuǎn)換當(dāng)傳遞的URL中包含中文或者其它特殊字符(如空格等)時(shí),需要使用urllib.parse庫中的urlencode方法將URL進(jìn)行編碼。“key:value”鍵值對轉(zhuǎn)換成“key=value”字符串importurllib.parsedata={'a':'數(shù)據(jù)采集','b':'技術(shù)'}result=urllib.parse.urlencode(data)print(result)轉(zhuǎn)碼a=%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86&b=%E6%8A%80%E6%9C%AFURL編碼轉(zhuǎn)換importurllib.parseresult=urllib.parse.unquote('a=%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86')print(result)解碼使用的是url.parse庫的unquote方法a=數(shù)據(jù)采集處理GET請求GET請求一般用于向服務(wù)器獲取數(shù)據(jù)處理GET請求“?”后面的字符串就包含了要查詢的關(guān)鍵字“數(shù)據(jù)采集”。使用Fiddler查看HTTP請求發(fā)現(xiàn)有個(gè)GET請求的格式如下:/s?wd=%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86處理GET請求importurllib.requestimporturllib.parse#引入urllib的庫url='/s'word={"wd":"數(shù)據(jù)采集"}word=urllib.parse.urlencode(word)new_url=url+"?"+word#定義參數(shù)urlheaders={"User-Agent":"Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/535.1(KHTML,likeGecko)Chrome/14.0.835.163Safari/535.1"}#定義參數(shù)headersrequest=urllib.request.Request(new_url,headers=headers)#構(gòu)建requestresponse=urllib.request.urlopen(request)#模擬瀏覽器向服務(wù)器發(fā)起請求獲取響應(yīng)html=response.read().decode('utf-8')print(html)示例返回一個(gè)HTTPResponse類型的對象處理GET請求返回結(jié)果處理POST請求發(fā)送http請求時(shí)urlopen方法必須設(shè)置data參數(shù),data參數(shù)以字典的形式存放數(shù)據(jù)。如果以post方式發(fā)送請求處理POST請求當(dāng)訪問有道詞典翻譯網(wǎng)站進(jìn)行詞語翻譯時(shí)不管輸入什么內(nèi)容一直都不變URL處理POST請求通過使用Fiddler觀察,發(fā)現(xiàn)該網(wǎng)站向服務(wù)器發(fā)送的是POST請求。處理POST請求當(dāng)使用有道詞典翻譯“Python”時(shí),返回的結(jié)果是一個(gè)JSON字符串。處理POST請求importurllib.request#POST請求的目標(biāo)URL,通過Fiddler獲取url="/jsonapi_s?doctype=json&jsonversion=4"headers={"User-Agent":"Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/535.1(KHTML,likeGecko)Chrome/14.0.835.163Safari/535.1"}#打開Fiddler請求窗口,點(diǎn)擊WebForms選項(xiàng)查看數(shù)據(jù)體formdata={"q":"ilovepython",'le':'en'}data=bytes(urllib.parse.urlencode(formdata).encode('utf-8'))request=urllib.request.Request(url,data=data,headers=headers)response=urllib.request.urlopen(request)print(response.read().decode('utf-8'))示例本講小結(jié)1url編碼轉(zhuǎn)換2urllib庫處理get請求3urllib庫處理post請求本講小結(jié)1url編碼轉(zhuǎn)換2urllib庫處理get請求
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西經(jīng)濟(jì)管理職業(yè)技術(shù)學(xué)院《數(shù)字媒體設(shè)計(jì)與制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西機(jī)電職業(yè)技術(shù)學(xué)院《自然社會(huì)科學(xué)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 小型生意合作合同范例
- 個(gè)人房產(chǎn)拍攝合同范例
- 搬運(yùn)工臨時(shí)工勞務(wù)合同范例
- 少兒畫室轉(zhuǎn)讓合同范例
- 學(xué)校捐贈(zèng)合同范例
- 風(fēng)力發(fā)電項(xiàng)目合同范例
- 2024年度小說作品委托創(chuàng)作合同范文3篇
- 樁基工程造價(jià)合同范例
- 刑事案件模擬法庭劇本完整版五篇
- 2022-2023學(xué)年四川省巴中市巴州區(qū)川教版(三起)四年級(jí)上學(xué)期期末英語試卷
- 人教版(2023) 選擇性必修第一冊 Unit 2 Looking into the Future Assessing Your Progress教案
- 腦血管意外的護(hù)理常規(guī)課件
- 迎新春送吉祥義務(wù)寫春聯(lián)活動(dòng)方案
- 新教材北師大版數(shù)學(xué)一年級(jí)上冊教學(xué)反思全冊
- 駕駛員安全駕駛知識(shí)培訓(xùn)與評(píng)估
- 食品安全事故流行病學(xué)調(diào)查表格
- 住宅排氣管道系統(tǒng)工程技術(shù)標(biāo)準(zhǔn)
- 標(biāo)識(shí)標(biāo)牌售后服務(wù)方案
- 人教版高中地理必修一全冊測試題(16份含答案)
評(píng)論
0/150
提交評(píng)論