大數(shù)據(jù)采集與預處理(微課版) 課件 項目1、2 初識動態(tài)網(wǎng)頁數(shù)據(jù)采集與預處理、動態(tài)網(wǎng)頁數(shù)據(jù)采集_第1頁
大數(shù)據(jù)采集與預處理(微課版) 課件 項目1、2 初識動態(tài)網(wǎng)頁數(shù)據(jù)采集與預處理、動態(tài)網(wǎng)頁數(shù)據(jù)采集_第2頁
大數(shù)據(jù)采集與預處理(微課版) 課件 項目1、2 初識動態(tài)網(wǎng)頁數(shù)據(jù)采集與預處理、動態(tài)網(wǎng)頁數(shù)據(jù)采集_第3頁
大數(shù)據(jù)采集與預處理(微課版) 課件 項目1、2 初識動態(tài)網(wǎng)頁數(shù)據(jù)采集與預處理、動態(tài)網(wǎng)頁數(shù)據(jù)采集_第4頁
大數(shù)據(jù)采集與預處理(微課版) 課件 項目1、2 初識動態(tài)網(wǎng)頁數(shù)據(jù)采集與預處理、動態(tài)網(wǎng)頁數(shù)據(jù)采集_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目一

初識動態(tài)網(wǎng)頁數(shù)據(jù)采集與預處理認識大數(shù)據(jù)采集與預處理目錄Content1搭建數(shù)據(jù)采集與預處理開發(fā)環(huán)境2數(shù)據(jù)來源較多項目導言零數(shù)據(jù)類型豐富數(shù)據(jù)存儲數(shù)據(jù)處理學習目標零知識目標了解數(shù)據(jù)采集相關知識;熟悉大數(shù)據(jù)的來源;掌握大數(shù)據(jù)處理相關知識;精通PyCharm的安裝步驟與掌握PyCharm的使用方法。技能目標具備掌握大數(shù)據(jù)采集方法的能力;具備大數(shù)據(jù)預處理方法的作用能力;具備安裝和使用PyCharm的能力。技能目標具備精益求精、堅持不懈的精神;具備團隊協(xié)作能力;具備靈活的思維和處理分析問題的能力;具備責任心。任務1-1:認識大數(shù)據(jù)采集與預處理壹認識數(shù)據(jù)來源任務技能信息管理系統(tǒng)、網(wǎng)絡數(shù)據(jù)、機器和傳感器數(shù)據(jù)、科學實驗數(shù)據(jù)、交易數(shù)據(jù)、人為數(shù)據(jù)等認識大數(shù)據(jù)采集通過技術手段進行數(shù)據(jù)采集。目前,常用的大數(shù)據(jù)采集方式有網(wǎng)絡爬蟲采集、日志文件采集、商業(yè)工具采集認識大數(shù)據(jù)預處理修整不完整、含噪聲、不一致(的數(shù)據(jù),致使采集到的數(shù)據(jù)大多是不規(guī)則、非結構化的,易受到噪聲(錯誤)、不完整、不一致等問題的影響。任務1-1:認識大數(shù)據(jù)采集與預處理壹1認識數(shù)據(jù)來源維克托和肯尼斯提出大數(shù)據(jù)為巨量資料,是一種海量的、飛速增長的、多樣化的信息資產(chǎn)。(1)信息管理系統(tǒng)任務1-1:認識大數(shù)據(jù)采集與預處理壹(2)網(wǎng)絡數(shù)據(jù)移動設備上的軟件幫助儲存和收集各種數(shù)據(jù)、互聯(lián)網(wǎng)中通過社交系統(tǒng)、社交媒體以及搜索引擎等產(chǎn)生海量數(shù)據(jù)。非結構化數(shù)據(jù)01郵件文檔圖片音頻視頻半結構化數(shù)據(jù)02XMLJSON任務1-1:認識大數(shù)據(jù)采集與預處理壹(3)物聯(lián)網(wǎng)數(shù)據(jù)

通過傳感器技術獲取外界的物理、化學和生物等數(shù)據(jù)信息,在互聯(lián)網(wǎng)的基礎上將網(wǎng)絡延伸和擴展,使其在機器與機器之間進行信息交換和通信。0102任務1-1:認識大數(shù)據(jù)采集與預處理壹(4)科學實驗數(shù)據(jù)實驗數(shù)據(jù)仿真數(shù)據(jù)任務1-1:認識大數(shù)據(jù)采集與預處理壹(5)交易數(shù)據(jù)儲蓄卡交易電子商務購物互聯(lián)網(wǎng)交易數(shù)據(jù)電子商務購物數(shù)據(jù)任務1-1:認識大數(shù)據(jù)采集與預處理壹2認識大數(shù)據(jù)采集

早期,數(shù)據(jù)采集通過人工錄入、調查問卷、電話隨訪等人工方式實現(xiàn)。目前,常用的大數(shù)據(jù)采集方式有網(wǎng)絡爬蟲采集、日志文件采集、商業(yè)工具采集。1.網(wǎng)絡爬蟲采集通過模擬客戶端(瀏覽器)進行網(wǎng)絡請求獲取網(wǎng)頁中文本數(shù)據(jù)、圖片數(shù)據(jù)、音頻文件、視頻文件等數(shù)據(jù)。任務1-1:認識大數(shù)據(jù)采集與預處理壹網(wǎng)絡爬蟲類型通用網(wǎng)絡爬蟲

可以在整個互聯(lián)網(wǎng)中進行目標資源的爬取,目標爬取數(shù)量巨大,對爬蟲程序的性能有較高要求。增量式網(wǎng)絡爬蟲

用于對頁面數(shù)據(jù)會不斷變化的頁面進行爬取操作,可以爬取網(wǎng)頁中更新的新數(shù)據(jù)。聚焦網(wǎng)絡爬蟲可以選擇性的在目標定位于主題相關的頁面中爬取特定信息。深層頁面爬蟲深層網(wǎng)頁是大部分內容不能通過靜態(tài)鏈獲取的,隱藏在搜索表單后,只有用戶提交一些關鍵詞才能獲得的Web頁面。例如,用戶注冊登錄前不可見的頁面即為深層頁面。任務1-1:認識大數(shù)據(jù)采集與預處理壹網(wǎng)絡爬蟲用途利用網(wǎng)絡爬蟲獲取網(wǎng)站頁面,網(wǎng)站更新時獲取頁面信息。通過網(wǎng)絡爬蟲去其他平臺獲取信息實現(xiàn)業(yè)務數(shù)據(jù)的填充,之后即可根據(jù)業(yè)務需求對數(shù)據(jù)進行統(tǒng)計分析。電商平臺中抓取同一商品的價格,之后即可提供給用戶最實惠的商品價格任務1-1:認識大數(shù)據(jù)采集與預處理壹爬蟲的基本流程任務1-1:認識大數(shù)據(jù)采集與預處理壹Urllib

Python內置的http網(wǎng)絡爬蟲庫,包含了諸如URL內容抓取、HTTP請求發(fā)送、文件讀取等多個操作URL的相關模塊。Requests

基于Urllib使用Python語音編寫的第三方http庫,采用Apache2Licensed開源協(xié)議開發(fā)。Scrapy單擊此處輸入你的正文,文字是您思想的提煉,為了最終演示發(fā)布的良好效果BeautifulSoup

可以從HTML或XML文件中提取數(shù)據(jù)的Python庫。能夠通過轉換器實現(xiàn)文檔導航,查找,修改文檔。Xpath

可以應用在包括數(shù)據(jù)挖掘、信息處理或存儲歷史數(shù)據(jù)等一系列的程序中。任務1-1:認識大數(shù)據(jù)采集與預處理壹2.日志數(shù)據(jù)采集(1)JS埋點技術采集日志JS埋點技術通過在頁面中植入JS代碼實現(xiàn)日志數(shù)據(jù)的收集,包括用戶點了哪個按鈕、頁面之間的跳轉次序、停留時長等。JS埋點可以在項目開發(fā)過程中手動植入。任務1-1:認識大數(shù)據(jù)采集與預處理壹(2)Flume組件采集日志可以將大批量的不同數(shù)據(jù)源的日志數(shù)據(jù)聚合、移動到數(shù)據(jù)中心(HDFS)進行存儲。任務1-1:認識大數(shù)據(jù)采集與預處理壹3.商業(yè)工具采集

提供多場景數(shù)據(jù)計算和分析挖掘的科研基礎環(huán)境,充分結合行業(yè)課題的相關數(shù)據(jù),并利用大數(shù)據(jù)技術深入挖掘分析,滿足行業(yè)大數(shù)據(jù)的科研工作需求。

日志管理工具,能夠對日志數(shù)據(jù)進行集中采集和準時索引處理,以及簡單易用的搜索方式。

簡單直觀的網(wǎng)頁爬蟲工具,無需編碼即可從許多網(wǎng)站抓取數(shù)據(jù)。任務1-1:認識大數(shù)據(jù)采集與預處理壹3認識大數(shù)據(jù)預處理目前,常用的數(shù)據(jù)預處理方式有四種,分別是數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)變換、數(shù)據(jù)規(guī)約。(1)數(shù)據(jù)清洗通過刪除有缺失數(shù)據(jù)的整行數(shù)據(jù)或刪除有過多缺失數(shù)據(jù)的變量、以業(yè)務知識或經(jīng)驗推測并人工填寫填充缺失、利用計算(均值、中位數(shù)、眾數(shù)、隨機數(shù)等)結果進行填充。任務1-1:認識大數(shù)據(jù)采集與預處理壹3認識大數(shù)據(jù)預處理目前,常用的數(shù)據(jù)預處理方式有四種,分別是數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)變換、數(shù)據(jù)規(guī)約。(1)數(shù)據(jù)清洗通過刪除有缺失數(shù)據(jù)的整行數(shù)據(jù)或刪除有過多缺失數(shù)據(jù)的變量、以業(yè)務知識或經(jīng)驗推測并人工填寫填充缺失、利用計算(均值、中位數(shù)、眾數(shù)、隨機數(shù)等)結果進行填充。①缺失值清洗任務1-1:認識大數(shù)據(jù)采集與預處理壹②格式內容清洗問題處理方式書寫格式問題內容修改,將格式統(tǒng)一出現(xiàn)不存在字符問題以半自動校驗半人工方式來找出可能存在的問題的數(shù)據(jù),并去除或修改數(shù)據(jù)中不符合格式的字符數(shù)據(jù)與字段不匹配問題不能直接刪除,需要了解具體問題,再根據(jù)情況選擇清洗方法任務1-1:認識大數(shù)據(jù)采集與預處理壹③邏輯錯誤清洗問題處理方式重復數(shù)據(jù)刪除數(shù)值不合理選擇刪除數(shù)據(jù)或按缺失值對數(shù)據(jù)值進行處理數(shù)據(jù)沖突先判斷字段與信息,之后在選擇刪除或修改該數(shù)據(jù)任務1-1:認識大數(shù)據(jù)采集與預處理壹④非需求數(shù)據(jù)清洗非需求數(shù)據(jù)就是在數(shù)據(jù)分析時沒有可分析的意義或不會被分析的數(shù)據(jù),在數(shù)據(jù)處理操作中,只需將其刪除即可。但需要注意的是,不要把重要字段(如學生數(shù)據(jù)中的姓名、學號等)、不確定是否需要字段(如學生數(shù)據(jù)中的身高、體重等,在成績分析時并不需要,但在學生健康情況分析中需要)等刪除。任務1-1:認識大數(shù)據(jù)采集與預處理壹(2)數(shù)據(jù)集成將互聯(lián)網(wǎng)中多種分布在不同位置的諸如各類XML文檔、HTML文檔、電子郵件、文本文件等結構化、半結構化信息等數(shù)據(jù)源中的數(shù)據(jù)綜合存儲在一個位置。任務1-1:認識大數(shù)據(jù)采集與預處理壹(3)數(shù)據(jù)規(guī)約方式描述維規(guī)約作用于多維數(shù)組,可以將不需要的整列數(shù)據(jù)刪除實現(xiàn)數(shù)據(jù)維數(shù)的減少,提高計算效率數(shù)量規(guī)約通過在原數(shù)據(jù)中選擇替代的、較少的數(shù)據(jù)來減少數(shù)據(jù)量數(shù)據(jù)壓縮作用于存儲空間,在不丟失有用信息的前提下,通過縮減數(shù)據(jù)量或重新組織結構減小數(shù)據(jù)的存儲空間,高其傳輸、存儲和處理效率任務1-1:認識大數(shù)據(jù)采集與預處理壹(4)數(shù)據(jù)轉換方式描述光滑通過回歸、分類等算法去掉數(shù)據(jù)中含有的噪聲屬性構造在指定結構的數(shù)據(jù)集中,添加新的屬性,助提高準確率和對高維數(shù)據(jù)結構的理解規(guī)范化將數(shù)據(jù)集中的數(shù)據(jù)按一定比例進行縮放操作,使之落入特定的區(qū)間內,常用的數(shù)據(jù)規(guī)范化方法有零-均值標準化、歸一化等任務1-1:認識大數(shù)據(jù)采集與預處理壹2.數(shù)據(jù)預處理工具Pig使用類似于SQL的面向數(shù)據(jù)流的語言PigLatin,可以在Hadoop中執(zhí)行所有的數(shù)據(jù)處理操作PandasPython的一個數(shù)據(jù)處理模塊,集成了大量的庫和多個標準數(shù)據(jù)模型,主要用于實現(xiàn)數(shù)據(jù)的處理與分析ELKELK主要用于收集集群日志,從而對日志進行有效的處理,主要由ElasticSearch、Logstash和Kiabana三個開源工具組成。任務1-2:搭建數(shù)據(jù)采集與預處理開發(fā)環(huán)境貳1認識PyCharm編碼協(xié)助;項目代碼導航;代碼分析;Python重構;支持Django;集成版本控制;圖形頁面調試器;集成的單元測試。優(yōu)勢任務1-2:搭建數(shù)據(jù)采集與預處理開發(fā)環(huán)境貳2安裝PyCharm進入PyCharm的官網(wǎng)Step1下載安裝包Step2打開安裝包Step3激活軟件Step6初始化設置Step5選擇安裝位置Step4任務1-2:搭建數(shù)據(jù)采集與預處理開發(fā)環(huán)境貳3使用PyCharm任務1-2:搭建數(shù)據(jù)采集與預處理開發(fā)環(huán)境貳快捷鍵描述Ctrl+/行注釋/取消行注釋Ctrl+Alt+L根據(jù)模板格式對代碼格式化Ctrl+Alt+SPyCharm設置Ctrl+D復制當前行或者所選代碼塊Ctrl+Y刪除光標所在位置行Ctrl+F當前文件內快速查找代碼Ctrl+Shift+F指定文件內尋找路徑Ctrl+R當前文件內代碼替代Ctrl+Shift+R指定文件內代碼批量替代Shift+F10運行Alt+Shift+F10運行指定文件Shift+F9調試程序Shift+F6重命名F11切換標記F5拷貝F6移動創(chuàng)建項目Step1在項目中創(chuàng)建py文件Step2編輯Pyhon代碼Step3運行代碼Step4配置Pycharm完成PyCharm中Python環(huán)境的配置并進行項目的創(chuàng)建。任務1-2:搭建數(shù)據(jù)采集與預處理開發(fā)環(huán)境貳與您共同成長項目二

動態(tài)網(wǎng)頁數(shù)據(jù)采集目錄Content1使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集2使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集項目導言零

在實際的開發(fā)中,所需數(shù)據(jù)是各種各樣的,雖然在網(wǎng)絡上有許多開源的數(shù)據(jù)集,但開源的數(shù)據(jù)集不一定符合我們的項目需求,因此項目需要的數(shù)據(jù)集需要主動獲取。數(shù)據(jù)采集是數(shù)據(jù)分析必不可少的一環(huán),這個時候學會數(shù)據(jù)采集的方法就顯得尤為重要,本項目將使用Python相關http請求庫完成網(wǎng)頁數(shù)據(jù)的采集。學習目標零知識目標了解Urllib和Requests庫相關概念熟悉Urllib和Requests庫的方法掌握Urllib庫中request模塊使用精通動態(tài)網(wǎng)頁數(shù)據(jù)采集的方法技能目標具備Urllib庫相關模塊的使用能力具備安裝Requests庫的能力具備使用Requests庫完成網(wǎng)頁數(shù)據(jù)采集的能力具備精通網(wǎng)頁數(shù)據(jù)采集的能力素養(yǎng)目標具備善于發(fā)現(xiàn)和總結問題能力具備較強的學習能力和適應能力具備較強的溝通表達能力任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹request模塊任務技能urlopen()、Request()、urlretrieve()error模塊URLError、HTTPErrorparse模塊urlparse()、urljoin()、quote()、unquote()任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹1request模塊在Urllib庫中,request是一個用于實現(xiàn)http請求模擬的模塊,能夠完成頁面抓取、Cookie設置等工作。目前,request模塊包含多個http請求方法。方法描述urlopen()頁面獲取Request()設置請求的相關參數(shù)urlretrieve()文件下載任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹(1)urlopen()urlopen()是request模塊中不可或缺的一種方法,主要用于實現(xiàn)頁面獲取,通過指定url地址即可向頁面發(fā)送請求,并以HTTPResponse類型的對象作為響應將頁面內容返回。0102urlopen()方法包含參數(shù)參數(shù)描述url指定目標網(wǎng)站的URLdata指定表單數(shù)據(jù),該參數(shù)默認為None,此時urllib使用get方法發(fā)送請求,當給參數(shù)賦值后,urllib使用post發(fā)送請求,并在該參數(shù)中攜帶表單信息timeout用來指定請求的等待時間,若超過指定時間還沒獲得響應,則拋出一個異常任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹

HTTPResponse對象方法方法描述read()獲取數(shù)據(jù)readline()按行獲取數(shù)據(jù)readlines()獲取數(shù)據(jù),并以行列表形式返回getcode()獲取狀態(tài)碼geturl()獲取url路徑decode()數(shù)據(jù)解碼getheaders()獲取http請求頭信息,當接收屬性后,會返回頭部信息中屬性對應的值任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹(2)Request()在使用urlopen()方法對頁面進行訪問時,并不能對請求方式、請求頭信息等請求參數(shù)進行設置,這時為了提高urlopen()方法的全面性,request模塊提供了一個Request()方法,能夠通過請求參數(shù)創(chuàng)建Request對象,并將該對象作為urlopen()方法的參數(shù)完成頁面請求。參數(shù)描述url指定目標網(wǎng)站的URLdata訪問頁面時攜帶的數(shù)據(jù)headers請求頭origin_req_host請求方的host名稱或者IP地址unverifiable請求方的請求無法驗證method請求方式設置Request()方法包含參數(shù)任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹headers參數(shù)包含屬性屬性描述User-Agent操作系統(tǒng)和瀏覽器的名稱和版本accept瀏覽器端可以接受的媒體類型Accept-Encoding編碼方法Accept-Language支持語言method參數(shù)包含屬性GET獲取POST提交HEAD獲取頭部信息PUT提交信息,原信息被覆蓋DELETE提交刪除請求任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹(3)urlretrieve()通過urlopen()方法,只能獲取頁面中的文本信息,當面對圖片文件、音視頻文件、文本文件等內容時,request模塊提供了一個urlretrieve()方法,能夠實現(xiàn)文件的下載操作。urlretrieve()方法包含參數(shù)參數(shù)描述url文件路徑filename文件名稱reporthook文件訪問的超時時間,單位為秒data文件訪問時攜帶的數(shù)據(jù)任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹2error模塊在Urllib中,為了避免發(fā)送請求時出現(xiàn)訪問不到服務器、訪問被禁止等錯誤,Urllib提供了一個用于定義異常的error模塊。目前,error模塊包含了兩個常用方法。方法描述URLError網(wǎng)絡地址異常HTTPErrorhttp錯誤異常任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹(1)URLError在error模塊中,URLError提供了多個URL地址相關的異常,如URL地址錯誤、網(wǎng)絡錯誤等,并且在觸發(fā)異常后,可通過“reason”屬性查看引發(fā)異常的原因。URLError的語法格式:from

urllib

import

errortry:......except

error.URLErrorase:e.reason......任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹(2)HTTPErrorHTTPError與URLError基本相同,不同之處在于HTTPError除了“reason”屬性外,還存在一些其他屬性。HTTPError屬性屬性描述code狀態(tài)碼reason錯誤原因headers響應頭任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹3parse模塊在Urllib中,parse模塊主要用于對指定的URL進行操作,如解析URL、合并URL等。parse模塊常用方法方法描述urlparse()URL的解析urljoin()URL的拼接quote()編碼unquote()解碼任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹(1)urlparse()urlparse()方法用于將接收的URL路徑解析成協(xié)議、域名、路徑、參數(shù)、查詢條件以及錨點等六個部分,并以元組的格式返回,在使用時urlparse()方法接收三個參數(shù)。參數(shù)描述urlURL地址scheme默認協(xié)議allow_fragments是否忽略錨點urlparse()方法參數(shù)任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹urlparse()的語法格式:fromurllibimportparseparse.urlparse(urlstring,scheme='',allow_fragments=True)urlparse()方法返回結果包含字段字段描述scheme協(xié)議netloc域名path路徑params參數(shù)query查詢條件fragment錨點任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹(2)urljoin()urljoin()方法用于URL路徑的連接,在使用時會接收兩個路徑參數(shù),之后會連接兩個URL路徑,連接時會使用第一個參數(shù)補齊第二個參數(shù)的缺失部分,當兩個參數(shù)均為完整路徑時,則以第二個為主。urljoin()的語法格式:fromurllibimportparseparse.urljoin(url1,url2)任務2-1:使用Urllib模塊完成“新聞動態(tài)”網(wǎng)頁數(shù)據(jù)采集壹(3)quote()、unquote()quote()和unquote()方法是一對功能相對的方法,其中,quote()方法用于對URL路徑中包含的中文進行編碼操作,而unquote()方法則用于對quote()方法編碼后的內容執(zhí)行解碼操作。語法格式:fromurllibimportparseparse.quote(url)parse.unquote(url)2-1:任務實施壹抓取頁面內容輸入網(wǎng)站地址代碼查看工具定位到新聞信息區(qū)域,分析代碼結構創(chuàng)建NewsInformation.py文件讀取Response對象中包含的頁面內容通過error模塊的URLError定義網(wǎng)絡地址異常,將代碼封裝到getHTML函數(shù)中完成新聞動態(tài)頁面數(shù)據(jù)采集任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳Requests簡介及安裝任務技能Requests是一個使用Python編寫的http庫Requests庫主要有pip安裝、wheel安裝和源碼安裝等方式Requests基本使用get()、post()、head()、put()、patch()、delete()Requests高級使用會話對象、文件上傳、超時設置、異常處理、證書認證、代理設置任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳1Requests簡介及安裝

在Python中,除了上述的Urllib庫外,Requests庫同樣被用于數(shù)據(jù)的采集,Requests是一個使用Python編寫的http庫,基于Urllib建立,為解決Urllib存在的安全缺陷以及代碼冗余等問題而被推出,方便快捷,可以大大減少工作量,完全滿足開發(fā)的需要。任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳用wheel方式安裝Requests庫Step1輸入/~gohlke/pythonlibs/進入Requests的wheel文件下載地址Step3在命令窗口輸入“pipinstall+wheel文件路徑”Step2單擊指定的文件格式進行wheel文件的下載Step4進入Python交互式命令行,輸入“importrequests”代碼,沒有出現(xiàn)錯誤說明Requests庫安裝成功任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳2Requests基本使用HTTP請求類型類型描述GET向服務端發(fā)送獲取信息請求POST將數(shù)據(jù)發(fā)送到服務器以創(chuàng)建或更新資源HEAD向服務端請求HTTP頭信息PUT向服務器端發(fā)送數(shù)據(jù),從而更新信息PATCH對已知資源進行局部更新DELETE向服務端發(fā)送刪除資源請求任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳Requests庫請求方法方法描述get()獲取HTML網(wǎng)頁的主要方法post()獲取HTML網(wǎng)頁頭信息的方法head()向HTML網(wǎng)頁提交post請求的方法put()向HTML網(wǎng)頁提交PUT請求的方法patch()向HTML網(wǎng)頁提交局部修改請求delete()向HTML頁面提交刪除請求任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳(1)get()get()方法包含參數(shù)參數(shù)描述url頁面的URL鏈接paramsURL額外參數(shù),以字典或字節(jié)序列形式作為參數(shù)增加到URL中**kwargs控制訪問的參數(shù)任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳**kwargs包含參數(shù)參數(shù)描述data字典、字節(jié)序列或文件對象,作為Request的內容jsonJSON格式的數(shù)據(jù),作為Request的內容headers字典,HTTP定制頭cookie字典或CooKiJar,作為Request中的cookieauth元祖,支持HTTP認證功能files字典類型,作為傳輸文件timeout超時時間,秒為單位proxies字典類型,設定訪問代理服務器,可以增加登錄認證allow_redirects重定向開關stream獲取內容立即下載開關verity認證SSL證書開關cert本地SSL證書路徑任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳Response對象包含屬性屬性描述status_code狀態(tài)碼text字符串形式頁面內容content二進制形式頁面內容encoding從HTTPheader中猜測的響應內容編碼方式apparent_encoding從內容中分析出的響應內容編碼方式cookies響應的cookieurlURL路徑headers請求頭信息任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳常用狀態(tài)碼狀態(tài)碼描述200請求成功301請求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應該自動地訪問新的URL400請求有語法錯誤,不能被服務器所理解401請求未經(jīng)授權403服務器收到請求,但是拒絕提供服務404請求資源不存在500服務器發(fā)生不可預期的錯誤503服務器當前不能處理客戶端的請求,一段時間后可能恢復正常任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳(2)post()post()方法包含參數(shù)參數(shù)描述url頁面的URL鏈接data字典、字節(jié)序列或文件對象,作為Request的內容jsonJSON格式的數(shù)據(jù),作為Request的內容**kwargs控制訪問的參數(shù)任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳(3)head()語法格式:importrequestsrequests.head(url,**kwargs)任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳(4)put()語法格式:importrequestsrequests.put(url,data=None,**kwargs)任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳(5)patch()語法格式:importrequestsrequests.patch(url,data=None,**kwargs)任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳(6)delete()語法格式:importrequestsrequests.delete(url,**kwargs)任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳method包含參數(shù)值參數(shù)值描述GET獲取HTML網(wǎng)頁POST獲取HTML網(wǎng)頁頭信息HEAD向HTML網(wǎng)頁提交post請求PUT向HTML網(wǎng)頁提交PUT請求PATCH向HTML網(wǎng)頁提交局部修改請求DELETE向HTML頁面提交刪除請求任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳3Requests高級使用會話對象文件上傳異常處理代理設置超時設置證書認證任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳(1)會話對象會話對象能夠跨請求保持某些參數(shù),也會在同一個Session實例發(fā)出的所有請求之間保持cookie,除此之外它還可以用來提升網(wǎng)絡性能。語法格式:importrequestssession=requests.Session()session.get()任務2-2:使用Requests庫完成“浪潮云說”網(wǎng)頁數(shù)據(jù)采集貳(2)文件上傳

在使用post()方法提交數(shù)據(jù)時,不僅可以提交文本數(shù)據(jù),還可以通過files參數(shù)的設置提交文件數(shù)據(jù),實現(xiàn)文件的上傳操作。語法格式:importrequests#獲取文件files={'fi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論