Python 通用爬蟲思路

通用爬蟲思路

1. 準備URL

  • 準備start_url
    • url地址規律不明顯,總數不確定
    • 通過代碼查找下一頁url
      • xpath定位
      • 不明顯,尋找url地址,部分參數可能放在當前的響應中(比如當前頁碼數和總頁碼數會在當前響應中)
  • 準備url_list
    • 頁碼總數明確
    • url地址規律明顯

2. 發送請求,獲取響應

  • 添加隨機的User-Agent,反反爬蟲
  • 添加隨機代理的IP,建立ip代理池,反反爬蟲
  • 在對方判斷我們是爬蟲後,應該添加更多的headers字段,包括cookie
    • cookie的處理可以使用session模塊解決
    • 準備一堆可以使用的cookie,組成cookie池
      • 如果不登錄
        • 準備剛開始可以成功請求網址的cookie,即接收對方網址設置在response中的cookie
        • 下一次請求的時候,使用之前的cookie來請求
      • 如果要登錄
        • 準備多個賬號
        • 使用程序獲取每個賬號的cookie
        • 之後請求登錄之後才能訪問的網址隨機使用已有的cookie

3. 提取數據

  • 確定數據的位置
    • 如果數據在當前的url地址響應中
      • 提取的是列表頁的數據(第一層)
      • 提取詳情頁的數據(第二層)
        • 尋找詳情頁的url,發送請求,提取數據,返回數據存儲
    • 如果數據不在當前的url地址相應中
      • 在其他的響應中,尋找數據的位置
          1. 從network結果中從上往下找
          1. 使用Chrome中的過濾條件,選擇出js.css.img之外的按鈕選項
          1. 使用Chrome中的search all file,搜索關鍵數字和英文
  • 數據提取
    • xpath,從html提取數據,進行分組,之後每一組再進行提取
    • re,提取特定的字符串
    • json數據,轉換爲python字典,然後re查找提取

4. 保存

  • 保存在本地,txt,json,csv
  • 保存到數據庫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章