爬蟲基礎知識整理

2021-10-16 12:27:47 字數 2219 閱讀 2667

網路爬蟲(又被稱為網頁蜘蛛,網路機械人)就是模擬客戶端(主要指瀏覽器)傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。

網路爬蟲就是根據網頁的位址來尋找網頁的,也就是url。舉乙個簡單的例子,我們在瀏覽器的位址列中輸入的字串就是url,例如:

url就是同意資源定位符(uniform resource locator),它的一般格式如下(帶方括號的為可選項):

protocol :// hostname[:port] / path / [;parameters][?query]#fragment

url的格式由三部分組成:

網路爬蟲就是根據這個url來獲取網頁資訊的。

2 根據是否以獲取資料為目的,可以分為:

爬蟲的基本流程如下:

獲取乙個url

向url傳送請求,並獲取響應(需要http協議)

如果從響應中提取url,則繼續傳送請求獲取響應

如果從響應中提取資料,則將資料進行儲存

robots協議: **通過robots協議告訴搜尋引擎哪些頁面可以抓取, 那些頁面不能抓取,但它僅僅是網際網路中的一種約定.

https比http更安全,但是效能更低

ssl對傳輸的內容(超文字,也就是請求體或響應體)進行加密

http請求的形式如上圖所示

1. host (主機和埠號)

2. connection (鏈結型別)

3. upgrade-insecure-requests (公升級為https請求)

4. user-agent (瀏覽器名稱)

5. accept (傳輸檔案型別)

6. referer (頁面跳轉處)

7. accept-encoding(檔案編譯碼格式)

8. cookie (cookie)

9. x-requested-with :xmlhttprequest (是ajax 非同步請求)

requests庫的7個主要方法

requests.requests(): 構造乙個請求,支援以下基本方法,以下方法均對應於http的相關方法

requests.get(): 獲取html網頁的主要方法

requests.head(): 獲取html網頁頭資訊的主要方法

requests.post(): 向html提交post請求的方法

requests.put(): 向html網頁提交put請求的方法

requests.patch(): 向html網頁提交區域性修改請求

requests.delete(): 向html頁面提交刪除請求

user-agent:

*#對任何的網路爬蟲都應該遵守如下協議

disallow:

/?*#任何爬蟲都不允許訪問以?開頭的路徑

disallow:

/pop/

*.html #任何爬蟲都不允許訪問pop/*.html

disallow:

/pinpai/

*.html?*

#任何爬蟲都不允許訪問/pinpai/*.html?*

user-agent: etaospider # etaospider 、huihuispider 、gwdangspider 、wochachaspider 這四個網路爬蟲不允許爬取京東的任何網頁

disallow:

/# /代表根目錄

user-agent: huihuispider

disallow:

/ user-agent: gwdangspider

disallow:

/ user-agent: wochachaspider

disallow:

/

robots協議的基本語法:

user-agent:

*

disallow:

/

爬蟲基礎知識

大資料時代,要進行資料分析,首先要有資料來源。而學習爬蟲,可以讓我們獲取更多的資料來源,並且這些資料來源可以按我們的目的進行採集,去掉很多無關資料。網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。只要是瀏覽器能做的事...

基礎知識整理

1.在輸出字元變數的值時,可以選擇以十進位制整數形式輸出,或以字元形式輸出。2.在乙個整數的末尾加大寫字母l或小寫字母l,表示它是長整型。3.代表除法運算子,兩個實數相除的結果是雙精度實數。兩個整數相除的結果是整數,捨去小數部分。但是,如果除數或被除數中有乙個是負值,則捨入的方向是不固定的。多數c編...

爬蟲基礎知識(柒)

1 mongodb 文件資料庫,儲存的是文件 bson json的二進位製化 json資料儲存的就是js中物件和陣列。2 mongodb特點 內部執行引擎為js直譯器,把文件儲存成bson結構,在查詢時轉換為js物件,並可以通過熟悉的js語法來操作。3 mongo和傳統型資料庫的不同 4 mongo...