• 
    

      <legend id="6xqnl"></legend>
      北京老男孩教育

      400-888-9073

      全國學(xué)習(xí)專線 8:00-22:00
      北京老男孩教育
      是一家專業(yè)培養(yǎng)IT工程師培訓(xùn)機(jī)構(gòu)  十分注重理論+實(shí)戰(zhàn)相結(jié)合,手把手帶領(lǐng)“課堂即實(shí)戰(zhàn)式”教學(xué)  “老男孩IT教育,只培養(yǎng)技術(shù)精英”  
      您當(dāng)前的位置: >北京瑾學(xué)網(wǎng) >北京培訓(xùn)學(xué)校 >爬蟲的基本流程

      軟件開發(fā)學(xué)校新聞

      爬蟲的基本流程

      發(fā)布時(shí)間:2019-04-03 17:20:25 已幫助:975人 來源:北京老男孩教育

      爬蟲的基本流程

      爬蟲的基本流程

      爬蟲就是請求網(wǎng)站并提取數(shù)據(jù)的自動(dòng)化程序,其中請求,提取,自動(dòng)化是爬蟲的關(guān)鍵,作為IT行業(yè)的人員應(yīng)該熟知這一系統(tǒng),也有一些運(yùn)用網(wǎng)絡(luò)爬蟲工作的相關(guān)人員可能不是很清楚這一概念,下面小編為大家介紹爬蟲工作的基本流程,一起來學(xué)習(xí)一下吧。

      ◇◆◇ 新聞內(nèi)容:
      發(fā)起請求

      通過HTTP庫向目標(biāo)站點(diǎn)發(fā)起請求,也就是發(fā)送一個(gè)Request,請求可以包含額外的header等信息,等待服務(wù)器響應(yīng)

      獲取響應(yīng)內(nèi)容

      如果服務(wù)器能正常響應(yīng),會(huì)得到一個(gè)Response,Response的內(nèi)容便是所要獲取的頁面內(nèi)容,類型可能是HTML,Json字符串,二進(jìn)制數(shù)據(jù)(圖片或者視頻)等類型

      解析內(nèi)容

      得到的內(nèi)容可能是HTML,可以用正則表達(dá)式,頁面解析庫進(jìn)行解析,可能是Json,可以直接轉(zhuǎn)換為Json對象解析,可能是二進(jìn)制數(shù)據(jù),可以做保存或者進(jìn)一步的處理

      保存數(shù)據(jù)

      保存形式多樣,可以存為文本,也可以保存到數(shù)據(jù)庫,或者保存特定格式的文件

      什么是Request,Response

      瀏覽器發(fā)送消息給網(wǎng)址所在的服務(wù)器,這個(gè)過程就叫做HTPP Request

      服務(wù)器收到瀏覽器發(fā)送的消息后,能夠根據(jù)瀏覽器發(fā)送消息的內(nèi)容,做相應(yīng)的處理,然后把消息回傳給瀏覽器,這個(gè)過程就是HTTP Response

      瀏覽器收到服務(wù)器的Response信息后,會(huì)對信息進(jìn)行相應(yīng)的處理,然后展示

      Request中包含什么?

      請求方式

      主要有:GET/POST兩種類型常用,另外還有HEAD/PUT/DELETE/OPTIONS

      GET和POST的區(qū)別就是:請求的數(shù)據(jù)GET是在url中,POST則是存放在頭部

      GET:向指定的資源發(fā)出“顯示”請求。使用GET方法應(yīng)該只用在讀取數(shù)據(jù),而不應(yīng)當(dāng)被用于產(chǎn)生“副作用”的操作中,例如在Web Application中。其中一個(gè)原因是GET可能會(huì)被網(wǎng)絡(luò)蜘蛛等隨意訪問

      POST:向指定資源提交數(shù)據(jù),請求服務(wù)器進(jìn)行處理(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請求本文中。這個(gè)請求可能會(huì)創(chuàng)建新的資源或修改現(xiàn)有資源,或二者皆有。

      HEAD:與GET方法一樣,都是向服務(wù)器發(fā)出指定資源的請求。只不過服務(wù)器將不傳回資源的本文部分。它的好處在于,使用這個(gè)方法可以在不必傳輸全部內(nèi)容的情況下,就可以獲取其中“關(guān)于該資源的信息”(元信息或稱元數(shù)據(jù))。

      PUT:向指定資源位置上傳其最新內(nèi)容。

      OPTIONS:這個(gè)方法可使服務(wù)器傳回該資源所支持的所有HTTP請求方法。用'*'來代替資源名稱,向Web服務(wù)器發(fā)送OPTIONS請求,可以測試服務(wù)器功能是否正常運(yùn)作。

      DELETE:請求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源。

      請求URL

      URL,即統(tǒng)一資源定位符,也就是我們說的網(wǎng)址,統(tǒng)一資源定位符是對可以從互聯(lián)網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯(lián)網(wǎng)上標(biāo)準(zhǔn)資源的地址。互聯(lián)網(wǎng)上的每個(gè)文件都有一個(gè)唯一的URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。

      URL的格式由三個(gè)部分組成:

      部分是協(xié)議(或稱為服務(wù)方式)。

      第二部分是存有該資源的主機(jī)IP地址(有時(shí)也包括端口號(hào))。

      第三部分是主機(jī)資源的具體地址,如目錄和文件名等。

      爬蟲爬取數(shù)據(jù)時(shí)必須要有一個(gè)目標(biāo)的URL才可以獲取數(shù)據(jù),因此,它是爬蟲獲取數(shù)據(jù)的基本依據(jù)。

      請求頭

      包含請求時(shí)的頭部信息,如User-Agent,Host,Cookies等信息,下圖是請求請求百度時(shí),所有的請求頭部信息參數(shù)

      請求體

      請求是攜帶的數(shù)據(jù),如提交表單數(shù)據(jù)時(shí)候的表單數(shù)據(jù)(POST)

      Response中包含了什么

      所有HTTP響應(yīng)的行都是狀態(tài)行,依次是當(dāng)前HTTP版本號(hào),3位數(shù)字組成的狀態(tài)代碼,以及描述狀態(tài)的短語,彼此由空格分隔。

      響應(yīng)狀態(tài)

      有多種響應(yīng)狀態(tài),如:200代表成功,301跳轉(zhuǎn),404找不到頁面,502服務(wù)器錯(cuò)誤

      1xx消息——請求已被服務(wù)器接收,繼續(xù)處理

      2xx成功——請求已成功被服務(wù)器接收、理解、并接受

      3xx重定向——需要后續(xù)操作才能完成這一請求

      4xx請求錯(cuò)誤——請求含有詞法錯(cuò)誤或者無法被執(zhí)行

      5xx服務(wù)器錯(cuò)誤——服務(wù)器在處理某個(gè)正確請求時(shí)發(fā)生錯(cuò)誤常見代碼:200 OK請求成功400 Bad Request客戶端請求有語法錯(cuò)誤,不能被服務(wù)器所理解401 Unauthorized請求未經(jīng)授權(quán),這個(gè)狀態(tài)代碼必須和WWW-Authenticate報(bào)頭域一起使用403 Forbidden服務(wù)器收到請求,但是拒絕提供服務(wù)404 Not Found請求資源不存在,eg:輸入了錯(cuò)誤的URL 500 Internal Server Error服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤503 Server Unavailable服務(wù)器當(dāng)前不能處理客戶端的請求,一段時(shí)間后可能恢復(fù)正常301目標(biāo)永久性轉(zhuǎn)移302目標(biāo)暫時(shí)性轉(zhuǎn)移

      響應(yīng)頭

      如內(nèi)容類型,類型的長度,服務(wù)器信息,設(shè)置Cookie,如下圖

      響應(yīng)體

      最主要的部分,包含請求資源的內(nèi)容,如網(wǎng)頁HTMl,圖片,二進(jìn)制數(shù)據(jù)等

      能爬取什么樣的數(shù)據(jù)

      網(wǎng)頁文本:如HTML文檔,Json格式化文本等

      圖片:獲取到的是二進(jìn)制文件,保存為圖片格式

      視頻:同樣是二進(jìn)制文件

      其他:只要請求到的,都可以獲取

      如何解析數(shù)據(jù)

      直接處理

      Json解析

      正則表達(dá)式處理

      BeautifulSoup解析處理

      PyQuery解析處理

      XPath解析處理

      關(guān)于抓取的頁面數(shù)據(jù)和瀏覽器里看到的不一樣的問題

      出現(xiàn)這種情況是因?yàn)椋芏嗑W(wǎng)站中的數(shù)據(jù)都是通過js,ajax動(dòng)態(tài)加載的,所以直接通過get請求獲取的頁面和瀏覽器顯示的不同。

      如何解決js渲染的問題?

      分析ajax

      Selenium/webdriver

      Splash

      PyV8,Ghost.py

      怎樣保存數(shù)據(jù)

      文本:純文本,Json,Xml等

      關(guān)系型數(shù)據(jù)庫:如mysql,oracle,sql server等結(jié)構(gòu)化數(shù)據(jù)庫

      非關(guān)系型數(shù)據(jù)庫:MongoDB,Redis等key-value形式存儲(chǔ)

      以上內(nèi)容就是小編為大家找來的網(wǎng)絡(luò)爬蟲工作的基本流程介紹,作為IT行業(yè)的工作者這一知識(shí)是應(yīng)該掌握的,想要了解更多相關(guān)的知識(shí)可以繼續(xù)關(guān)注小編的后續(xù)文章更新,北京老男孩教育為學(xué)員設(shè)置電腦IT培訓(xùn)課程,歡迎有從業(yè)興趣的學(xué)員咨詢了解。


      上一篇:高考復(fù)習(xí)技巧
      下一篇:初學(xué)者如何學(xué)習(xí)運(yùn)維
      關(guān)于我們 | 聯(lián)系我們 | 北京老男孩教育地址:北京市昌平區(qū)順沙路八號(hào)院匯德商廈 咨詢電話:400-888-9073
      滬ICP備18018862號(hào)-2 網(wǎng)站地圖 注冊 登錄 招生合作 版權(quán)/投訴 免責(zé)聲明 更新時(shí)間:2025-03-12
      日韩在线视频播放一区二区三区_亚洲女人自慰精品久久迅雷_国产高级高潮一级毛片_亚洲AV极品无码专区亚洲AV

      • 
        

          <legend id="6xqnl"></legend>
          伊人久久大香线焦亚洲日本 | 亚洲日韩va中文字幕 | 日韩美女黄大片在线观看 | 性色AV乱码一区二区三区2 | 亚洲欧洲国产1区二区 | 日本又色又爽又黄的观看 |