5. robots協議
6. 反爬策略
7. 爬蟲基本流程
網路爬蟲是指按照某種規則在網路上爬取所需內容的指令碼程式。每個網頁通常包含其他網頁的入口,網路爬蟲則是通過乙個**依次進入到**,模擬客戶端傳送網路請求,接收請求響應,按照一定的規則,自動地抓取網際網路資訊的程式。
爬取步驟:
侷限性:
分布式爬蟲:提高爬蟲效率的終極**
根據網路爬蟲的尺寸分為三類:爬取目的
規模常用庫
爬取網頁 玩轉網頁
小規模,資料量小,爬取速度不敏感(90%)
requests庫
爬取** 爬取系列**
中規模,資料規模大,爬取速度敏感(如攜程)
scrapy庫
爬取全網
大規模,用於建立搜尋引擎,爬取速度關鍵(如google)
定製開發
獲得網路資源的同時也引發了一系列問題:法律風險:伺服器上的資料是由產權歸屬的,網路爬蟲獲取資料後牟利將帶來法律風險
隱私洩露:具備一定突破簡單訪問控制的能力,獲得被保護資料從而洩露個人隱私
網路爬蟲限制發布公告:robots協議。告訴爬蟲策略,要求爬取資料者遵守規定的資料,是否遵守則要看爬蟲者。
http協議(hypertext transfer protocol,超文字傳輸協議)是一種發布和接收html頁面的方法。
https(hypertext transfer protocol over secure socket layer)是http的安全版,在http下加入ssl層。ssl(secure sockets layer 安全套接層)主要用於web的安全傳輸協議,在傳輸層對網路連線進行加密,保障在internet上資料傳輸的安全。
http的埠號為80,https的埠號為443
url格式:scheme://host[:port#]/path/…/[?query-string][#anchor]
例:
url的理解:url是通過http協議訪問資源的internet路徑,乙個url對應乙個資料資源序號
方法描述
1get
請求指定的頁面資訊,並返回實體主體。
2head
類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
3post
向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案),資料被包含在請求體中。post請求可能會導致新的資源的建立和/或已有資源的修改。
4put
從客戶端向伺服器傳送的資料取代指定的文件的內容。
5delete
請求伺服器刪除指定的頁面。
6connect
http/1.1協議中預留給能夠將連線改為管道方式的**伺服器。
7options
允許客戶端檢視伺服器的效能。
8trace
回顯伺服器收到的請求,主要用於測試或診斷。
http請求主要分為get和post兩種方法:get是從伺服器上獲取資料,post是向伺服器傳送資料名稱
說明host (主機和埠號)
用於指定被請求資源的internet主機和埠號,屬於url的一部分
connection (鏈結型別)
表示客戶端與服務連線型別
upgrade-insecure-requests (公升級為https請求)
公升級不安全的請求,意思是會在載入http資源時自動替換成https請求
user-agent (瀏覽器名稱)
客戶瀏覽器的名稱
accept (傳輸檔案型別)
指瀏覽器或其他客戶端可以接受的件型別,伺服器可以根據它判斷並返回適當的檔案格式
accept-encoding(檔案編譯碼格式)
指出瀏覽器可以接受的編碼方式
accept-charset(字元編碼)
指出瀏覽器可以接受的字元編碼
cookie (cookie)
瀏覽器用這個屬性向伺服器傳送cookie。cookie是在瀏覽器中寄存的小型資料體,它可以記載和伺服器相關的使用者資訊,也可以用來實現會話功能
content-type (post資料型別)
post請求裡用來表示的內容型別
型別說明
100-199
表示伺服器成功接收部分請求,要求客戶端繼續提交其餘請求才能完成整個處理過程
200-299
表示伺服器成功接收請求並已完成整個處理過程。常用200(ok 請求成功)
300-399
400-499
客戶端的請求有錯誤,常用404(伺服器無法找到被請求的頁面)、403(伺服器拒絕訪問,許可權不夠)
500-599
伺服器端出現錯誤,常用500(請求未完成。伺服器遇到不可預知的情況)
robots協議(也叫爬蟲協議、機械人協議等),全稱是「網路爬蟲排除標準」(robots exclusion protocol),**通過robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,例如:
**robots協議分析
robots協議基本語法
robots協議的使用
對robots協議的理解爬取目的
是否遵守
爬取網頁 玩轉網頁
可以遵守(訪問量較小)、建議遵守(訪問量較大)
爬取** 爬取系列**
非商業且偶爾(建議遵守)、商業利益(必須遵守)
爬取全網
必須遵守
類人類訪問的爬取(資源都是為人類提供資訊、且資料量小,次數少)
可以不參考robots協議
Python爬蟲之爬蟲概述
知識點 模擬瀏覽器,傳送請求,獲取響應 網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端 主要指瀏覽器 傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。知識點 了解 爬蟲的概念 爬蟲在網際網路世界中有很多的作用,比如 資料採集 抓取招聘 的招聘資訊 資料分析 挖掘...
python之爬蟲概述
網路爬蟲 又被稱為網頁蜘蛛,網路機械人,在foaf社群中間,更經常的稱為網頁追逐者 是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼。另外一些不常使用的名字還有螞蟻 自動索引 模擬程式或者蠕蟲。其實通俗的講就是通過程式去獲取web頁面上自己想要的資料,也就是自動抓取資料。模擬瀏覽器開啟...
Python爬蟲高階一之爬蟲框架概述
爬蟲入門之後,我們有兩條路可以走。乙個是繼續深入學習,以及關於設計模式的一些知識,強化python相關知識,自己動手造輪子,繼續為自己的爬蟲增加分布式,多執行緒等功能擴充套件。另一條路便是學習一些優秀的框架,先把這些框架用熟,可以確保能夠應付一些基本的爬蟲任務,也就是所謂的解決溫飽問題,然後再深入學...