爬蟲課程一(爬蟲的概念與HTTP的複習)

2021-08-17 22:42:00 字數 3101 閱讀 1423

目前在學習爬蟲的課程

以下小坐總結:

第一天主要看了以寫爬蟲的原理以及爬蟲資料的抓取

1.1:為什麼學習爬蟲

最主要的是在目前看來,爬蟲工程師屬於緊缺型人才,並且薪資待遇普遍較高

1,學習爬蟲,可以私人定製乙個搜尋引擎。

2,大資料時代,要進行資料分析,首先要有資料來源

3,對於很多seo從業者來說,從而可以更好的進行搜尋引擎優化。

1.2爬蟲的概念

什麼是網路爬蟲?

網路爬蟲(又被稱為網頁蜘蛛,網路機械人)爬蟲就是模擬客戶端傳送網路請求,

接受請求對應的響應,一種按照一定規則,自動抓取網際網路資訊的程式。

只要是客戶端(主要指瀏覽器)能做的事情,原則上,爬蟲都能夠做。

換言之,只要人能能夠正常訪問的網頁,爬蟲在具備同等資源的情況下就一定能抓取到。

1.3 爬蟲的用途

主要用途:資料採集

其他用途:各種搶購,12306搶票。投票刷票,簡訊轟炸,網路攻擊,web漏洞掃瞄器

1.4 爬蟲的分類

通用爬蟲:通常指搜尋引擎和大型服務提供商的爬蟲

累計式爬蟲:從開始到結束,不斷的爬取,過程中會進行去重操作。

1.5 爬蟲的用途:

金融金融新聞/資料制定投資策略,進行量化交易

旅遊各類資訊優化出行策略

電商商品資訊   比價系統

遊戲遊戲論壇調整遊戲運營

銀行個人交易資訊徵信系統/貸款評級

招聘職位資訊崗位資訊

輿情 各大論壇

社會群體感知,**導向

一/二: 通用爬蟲和聚焦爬蟲工作原理

2.1 通用搜尋引擎的侷限性

搜尋引擎抓取動態網頁效果不好

一/三.robots協議

什麼是robots協議:

robots協議(也稱為爬蟲協議、機械人協議等)的全稱是「網路爬蟲排除標準」(robots exclusion protocol),**通過robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取。

robots協議是乙個道德層面的約定,爬蟲作者遵不遵守完全看自己意願。

存在位置:

robots.txt檔案應該放置在**根目錄下

例如:二、http和https複習內容

1、http和https

2、http的請求過程

3、http的請求報文格式

4、http的常見請求頭

5、get和pos

6、響應狀態碼

2.2 瀏覽器傳送http請求的過程

url 的格式

形式:scheme://host[:port#]/path/…/[?query-string][#anchor]

scheme:協議(例如:http, https, ftp)

port:伺服器的埠(如果是走協議預設埠,80  or 443)

path:訪問資源的路徑

query-string:引數,傳送給http伺服器的資料,引數使用&隔開

anchor:錨(跳轉到網頁的指定錨點位置)

為什麼要進行編碼

通常如果一樣東西需要編碼,說明這樣東西並不適合傳輸。原因多種多樣,如size過大,包含隱私資料,對於url來說,之所以要進行編碼,是因為url中有些字元會引起歧義。url的編碼格式採用的是ascii碼,而不是unicode,這也就是說你不能在url中包含任何非ascii字元,例如中文。

url編碼與解碼

瀏覽器從表單中獲取所有的name和其中的值 ,將它們以name/value引數編碼(移去那些不能傳送的字元, 將資料排行等等)作為url的一部分或者分離地發給伺服器。

url編碼的原則:

使用安全的字元(沒有特殊用途或者特殊意義的可列印字元)去表示那些不安全的字元。

重要 重要 重要

瀏覽器訪問乙個**,在的獲取原始碼之後會根據原始碼上的鏈結載入,js,css檔案等,我們稱之為渲染,而爬蟲只會請求原始碼

2.3http請求報文的格式

http請求報文分為三部分:

1.請求行

2.請求頭請求頭中包含很多資訊,通常會告知伺服器一些資訊

3.請求體post請求資料存放位置

2.4http常見的請求頭

1.host (主機和埠號)

2. connection (鏈結型別)

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

4. user-agent (使用者**)

伺服器能夠識別客戶使用的作業系統及版本、cpu 型別、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器外掛程式等

5. accept (傳輸檔案型別)

6. referer 

頁面跳轉處,從何處來到當前頁面,可用於防爬和防盜煉

7. accept-encoding

覽器支援的編碼型別,主要的編碼格式就是壓縮格式

gzipcompressdeflate

8. cookie

用於進行狀態保持,通常也可用於識別使用者身份

9. x-requested-with :

xmlhttprequest  是ajax 非同步請求

爬蟲初階(一) 爬蟲概念與HTTP

根據使用場景,爬蟲通常分為兩類 2.1 概念 2.2 瀏覽器傳送http請求的過程 客戶端將url傳送至dns伺服器。dns伺服器獲取網域名稱對應的ip,返回至客戶端。客戶端通過ip位址請求資源。web伺服器返回頁面 html js css jpg。2.3 http協議的內容 2.3.1 請求行 請...

爬蟲課程一

def load data url get的請求 http的請求 response urllib.request.urlopen url print response data response.read print data str data data.decode utf 8 print str...

網路爬蟲(1) 爬蟲與HTTP

聚焦爬蟲 聚焦爬蟲是根據指定的需求抓取網路上指定的資料。例如 獲取豆瓣上電影的名稱和影評,而不是獲取整張頁面中所有的資料值。增量式爬蟲 增量式是用來檢測 資料更新的情況,且可以將 更新的資料進行爬取 後期會有章節單獨對其展開詳細的講解 即 有權規定 中哪些內容可以被爬蟲抓取,哪些內容不可以被爬蟲抓取...