智能web網頁爬蟲原理,不用寫一行代碼

列表頁解析

列表定位

  1. 同性質子元素排序
  2. 元素面積排序
  3. 用戶確認區域後元素xpath並存儲

分頁按鈕定位

  1. 不包含子元素且文字包含“下一頁,點擊查看更多”等文字的標籤。
  2. 調用dom.click()方法自動進入下一頁,或者提取鏈接,存儲xpath

列表項解析

  1. 標題解析:列表項中字體權重最大的標籤爲標題。用戶確認後存儲xpath。
  2. 詳情鏈接提取:標題往上找到a標籤。解析後存儲xpath
  3. 封面解析:列表項中面積最大的圖片。存儲xpath

詳情頁解析

內容識別

  1. 標題:標題使用列表項的標題即可。
  2. 詳情:文本類子元素最多的元素,且頁面面積佔用最大。存儲xpath。
  3. 時間解析:正則匹配時間即可,匹配到之後嘗試緩存xpath。
  4. 來源解析:正則匹配即可,同上。

後處理

  • 詳情:希望保留詳情的一些排版,比如代碼塊,高亮區域等。將HTML轉爲Markdown即可。在使用時轉回HTML顯示。
  • 時間:使用dateparser將時間轉爲ISO8601標準時間或者時間戳即可。
  • 存儲:建議存儲至MongoDB,無需提前定義表結構。
上述方案兼容90%的標準網站,比如拉鉤,京東,segmentfault,v2ex,58同城等等。

DEMO已經開發完畢,交流討論或者商業合作請發站內信。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章