




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
使用urllib爬取網頁傳遞數據的方法通過url傳遞數據給服務器傳遞數據的方式主要分為:get()post()傳遞數據的方法通過url傳遞數據給服務器傳遞數據的方式主要分為:get()post()直接使用url訪問,在url中包含了所有參數。傳遞數據的方法通過url傳遞數據給服務器傳遞數據的方式主要分為:get()post()不會在url中顯示所有的參數。Contents素養目標培養良好的信息素養和道德意識技能目標熟悉urllib庫中處理get和post請求的方法知識目標掌握urllib庫中處理get和post請求的原理URL編碼轉換當傳遞的URL中包含中文或者其它特殊字符(如空格等)時,需要使用urllib.parse庫中的urlencode方法將URL進行編碼。“key:value”鍵值對轉換成“key=value”字符串importurllib.parsedata={'a':'數據采集','b':'技術'}result=urllib.parse.urlencode(data)print(result)轉碼a=%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86&b=%E6%8A%80%E6%9C%AFURL編碼轉換importurllib.parseresult=urllib.parse.unquote('a=%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86')print(result)解碼使用的是url.parse庫的unquote方法a=數據采集處理GET請求GET請求一般用于向服務器獲取數據處理GET請求“?”后面的字符串就包含了要查詢的關鍵字“數據采集”。使用Fiddler查看HTTP請求發現有個GET請求的格式如下:/s?wd=%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86處理GET請求importurllib.requestimporturllib.parse#引入urllib的庫url='/s'word={"wd":"數據采集"}word=urllib.parse.urlencode(word)new_url=url+"?"+word#定義參數urlheaders={"User-Agent":"Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/535.1(KHTML,likeGecko)Chrome/14.0.835.163Safari/535.1"}#定義參數headersrequest=urllib.request.Request(new_url,headers=headers)#構建requestresponse=urllib.request.urlopen(request)#模擬瀏覽器向服務器發起請求獲取響應html=response.read().decode('utf-8')print(html)示例返回一個HTTPResponse類型的對象處理GET請求返回結果處理POST請求發送http請求時urlopen方法必須設置data參數,data參數以字典的形式存放數據。如果以post方式發送請求處理POST請求當訪問有道詞典翻譯網站進行詞語翻譯時不管輸入什么內容一直都不變URL處理POST請求通過使用Fiddler觀察,發現該網站向服務器發送的是POST請求。處理POST請求當使用有道詞典翻譯“Python”時,返回的結果是一個JSON字符串。處理POST請求importurllib.request#POST請求的目標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請求窗口,點擊WebForms選項查看數據體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'))示例本講小結1url編碼轉換2urllib庫處理get請求3urllib庫處理post請求本講小結1url編碼轉換2urllib庫處理get請求
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 林產品綠色包裝設計與環保標準考核試卷
- 舞臺燈光色彩學與心理效應考核試卷
- 生態農業與生物多樣性保護考核試卷
- 窗簾行業綠色生產標準探討考核試卷
- 玉米種植農業氣象服務能力提升考核試卷
- 網絡游戲產業發展與監管考核試卷
- 玻璃纖維制造及應用考核試卷
- 廠里工會考試試題及答案
- 標準體系化考試試題及答案
- 環保制度考試試題及答案
- 全友家居導購員銷售流程及常用銷售話術
- 2025年建筑施工安全管理人員安全生產考試題庫
- 十萬頭生態養豬場項目可行性報告
- 2025年安全評價師職業資格考試真題回顧與模擬試題
- 2025年陜西省高考適應性檢測(三)語文試題及參考答案
- 氟化工藝作業課件
- 2025年4月12日烏魯木齊市人才引進面試真題及答案解析
- 大學高數函數試題及答案
- 2024年法考真題答案解析
- 2025新版上海市房屋租賃合同樣本
- 血濾機操作培訓講義(上)
評論
0/150
提交評論