什么是Python3網(wǎng)絡(luò)爬蟲(chóng)?

2021-05-10 16:33 更新

定義:

網(wǎng)絡(luò)爬蟲(chóng)(Web Spider),又被稱為網(wǎng)頁(yè)蜘蛛,是一種按照一定的規(guī)則,自動(dòng)地抓取網(wǎng)站信息的程序或者腳本。爬蟲(chóng)其實(shí)是通過(guò)編寫(xiě)程序,模擬瀏覽器上網(wǎng),然后讓其去互聯(lián)網(wǎng)上抓取數(shù)據(jù)的過(guò)程。

爬蟲(chóng)的價(jià)值:

抓取互聯(lián)網(wǎng)上的數(shù)據(jù),為我所用,有了大量的數(shù)據(jù),就如同有了一個(gè)數(shù)據(jù)銀行一樣,下一步就是如何將這些數(shù)據(jù)產(chǎn)品化、商業(yè)化。

爬蟲(chóng)是否合法

網(wǎng)絡(luò)爬蟲(chóng)在法律中是不被禁止,但是具有違法風(fēng)險(xiǎn),通常來(lái)說(shuō)爬蟲(chóng)分為善意的爬蟲(chóng)和惡意的爬蟲(chóng)。爬蟲(chóng)帶來(lái)的風(fēng)險(xiǎn)可以體現(xiàn)在如下兩個(gè)方面:

  • 爬蟲(chóng)干擾了被訪問(wèn)網(wǎng)站的正常運(yùn)營(yíng)
  • 爬蟲(chóng)抓取了受法律保護(hù)的特定類的數(shù)據(jù)或信息

那么我們?nèi)绾卧谑褂镁帉?xiě)爬蟲(chóng)的過(guò)程中避免進(jìn)入局子的厄運(yùn)呢?

  • 時(shí)常優(yōu)化自己的程序,避免干擾被訪問(wèn)網(wǎng)站的正常運(yùn)行
  • 在使用、傳播爬取到的數(shù)據(jù)時(shí),審查抓取到的內(nèi)容,如果發(fā)現(xiàn)涉及到用戶隱私或者商業(yè)機(jī)密等敏感內(nèi)容,需要及時(shí)停止爬取或傳播

爬蟲(chóng)在使用場(chǎng)景中的分類

  • 通用爬蟲(chóng)抓取系統(tǒng)重要組成部分,抓取的是一整張頁(yè)面數(shù)據(jù)
  • 聚焦爬蟲(chóng)是建立在通用爬蟲(chóng)的基礎(chǔ)之上,抓取頁(yè)面中特定的局部?jī)?nèi)容
  • 增量式爬蟲(chóng)檢測(cè)網(wǎng)站中數(shù)據(jù)更新的情況,只會(huì)爬取網(wǎng)站中最新更新出來(lái)的數(shù)據(jù)

爬蟲(chóng)的矛與盾

反爬機(jī)制:門(mén)戶網(wǎng)站,可以通過(guò)制定相應(yīng)的策略或者技術(shù)手段,防止爬蟲(chóng)程序進(jìn)行網(wǎng)站數(shù)據(jù)的爬取。反反爬策略:爬蟲(chóng)程序可以通過(guò)制定相關(guān)的策略或者技術(shù)手段,破解門(mén)戶網(wǎng)站中具備的反爬機(jī)制,從而可以獲取門(mén)戶網(wǎng)站中相關(guān)的數(shù)據(jù)。

下面,我們來(lái)了解一下網(wǎng)絡(luò)爬蟲(chóng)中一個(gè)重要的協(xié)議:robots.txt協(xié)議。robots.txt協(xié)議是一個(gè)君子協(xié)議,協(xié)議中規(guī)定了網(wǎng)站中哪些數(shù)據(jù)可以被爬取哪些數(shù)據(jù)不能被爬取。

http協(xié)議和https協(xié)議

http協(xié)議:就是服務(wù)器和客戶端進(jìn)行數(shù)據(jù)交互的一種形式。http協(xié)議中常用的請(qǐng)求頭信息:

  • User-Agent:請(qǐng)求載體的身份標(biāo)識(shí)
  • Connection:請(qǐng)求完畢后,是斷開(kāi)連接還是保持連接http協(xié)議中常用的響應(yīng)頭信息:
  • Content-Type:服務(wù)器響應(yīng)回客戶端的數(shù)據(jù)類型https協(xié)議其實(shí)就是一種安全的http協(xié)議


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)