15天學會爬蟲 第一天

爬蟲

第一天

1. 爬蟲的用途

1.爬取數據用做網站展示

2.爬取數據用來爲大數據或者人工智能服務

2. 什麼是爬蟲?

模擬瀏覽器發送請求,獲取相應的數據

3. 爬蟲的分類

3.1 通用爬蟲

搜索引擎的爬蟲,爬取整個互聯網的數據

3.2 聚焦爬蟲

針對特定網站專門寫的抓取數據的程序

聚焦爬蟲的流程
  1. 準備url列表
  2. 拿到一個url發起請求,獲取響應
  3. 響應提取
    • 提取的是數據,數據保存
    • 提取的是URL,放入URL列表

rootbots協議: 網站規定搜索殷勤可以爬取的內容範圍,只是道德約束

4. 爬蟲程序的響應

爬蟲程序的響應 以url對應的響應爲準,不能以elements爲準

5. 重要的請求頭

  • Cookie: 保存用戶登錄的憑證,如果要反問登錄後的頁面去獲取數據庫,必須攜帶Cookie
  • User—Agent: 表示請求者的身份,反爬的必要手段,每次請求都必須攜帶
  • Referer: 頁面來源處

6. get和post請求的區別

  1. 最直觀的就是語義上的區別,get用於獲取數據,post用於提交數據.
  2. get參數有長度限制(受限於URL長度,具體的數值取決於瀏覽器和服務器的限制),而post無限制
  3. get請求,請求的數據會附加在url之後,以 ? 分割URL和傳輸數據,多個參數用 & 連接,而post請求會把請求的數據放置在HTTP 請求體中.
  4. GET的語義是請求獲取指定的資源。GET方法是安全、冪等、可緩存的(除非有 Cache-ControlHeader的約束),GET方法的報文主體沒有任何語義。POST的語義是根據請求負荷(報文主體)對指定的資源做出處理,具體的處理方式視資源類型而不同。POST不安全,不冪等,(大部分實現)不可緩存。爲了針對其不可緩存性,有一系列的方法來進行優化,以後有機會再研究(FLAG已經立起)。還是舉一個通俗栗子吧,在微博這個場景裏,GET的語義會被用在「看看我的Timeline上最新的20條微博」這樣的場景,而POST的語義會被用在「發微博、評論、點贊」這樣的場景中。(該條轉載自5的博客)
  5. 更多資料,請查看post請求和get請求的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章