Python爬蟲教程—爬蟲


1. 爬蟲相關概念

1.1 定義

一段根據url爬取網頁獲取有用信息的程序,使用程序模擬瀏覽器向服務器發送請求獲取響應信息

1.2 核心

  • 爬取網頁:爬取整個網頁,包含網頁所有內容
  • 解析數據:將網頁中的數據進行解析

1.3 難點

爬蟲與反爬蟲之間的博弈

1.4 用途

  • 數據分析/人工數據集
  • 社交軟件冷啟動
  • 輿情監控
  • 競爭對手監控

1.5 分類

  • 通用爬蟲(無需掌握):爬取的數據大多是無用的 無法根據用戶的需求精准獲取數據

    ​ 幾乎所有的搜索引擎都是通用爬蟲

    ​ 一般過程為:訪問網頁—>爬取數據—>存儲數據—>處理數據—>提供檢索服務

    ​ 本應該根據PageRank算法(參考網站流量、點擊率等指標)進行排名,百度卻競價排名

  • 聚焦爬蟲(需要掌握):根據需求實現爬蟲程序 抓取需要的數據

    ​ 設計思路:

    • 確定爬取的網頁——如何獲取url
    • 模擬瀏覽器通過HTTP協議訪問url,獲取服務器返回的html代碼——如何訪問
    • 解析html字符串(根據一定規則提取需要的數據)——如何解析

1.6 反爬手段

  • User-Agent

    ​ User-Agent(用戶代理),簡稱UA,是一個特殊的字符串頭,使得服務器能夠識別客戶使用的操作系統及其版本、CPU類型、瀏覽器及其版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等

  • 代理IP

    ​ 西次代理

    ​ 快代理

    ​ 高匿名、匿名和透明代理

    ​ 1. 使用透明代理,對方服務器可以知道使用了代理並且也知道真實IP

    ​ 2. 使用匿名代理,對方服務器可以知道使用了代理但是不知道真實IP

    ​ 3. 使用高匿名代理,對方服務器不知道使用了代理更不知道真實IP

  • 驗證碼訪問

    ​ 驗證碼校驗,防止爬蟲

    ​ 反制手段:打碼平台——雲打碼平台、超級

  • 動態加載頁面

    ​ 網站返回的是js數據,而不是網頁真實的數據

    ​ selenium驅動真實的瀏覽器發送請求

  • 數據加密

    ​ 將數據加密返回

    ​ 分析js代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM