2015-04-07 53 views
-1

我正在嘗試編寫一個抓取程序,它可以獲取原始html數據並查找標題,價格,更新日期,照片等字段並將其寫入數據庫。這是抓取數據的經典和舊方法。檢測網頁中的變化區域

我認爲我可以通過其他方式完成這項工作。

如果我抓取網站中的所有頁面(可能超過1000個),並比較它們,我可以找到具體的區域。

我的意思是html標籤將永遠是相同的。只有特定區域會改變,如標題,圖像等...

那麼,確定更改區域的最佳方法是什麼?

+0

使用XML差異? –

+0

我tink,xml diff不是正確的答案,因爲它比較兩個xml文件。但我需要一個解決方案來比較1000頁。 – fobus

回答

0

比較它們所有我能找到spesific地區

什麼是確定改變區域的最佳方式?

在您的問題中,您設置了比較頁面部件和獲取特定區域數據的刮擦/爬行方法。這與正則表達式的氣味。 不要使用它作爲非常有效的方法。相反,使用xpath,對XML結構進行操作。

所以,很簡單:

  1. 獲取HTML
  2. 讓它DOM
  3. 讓DOM有效的XML
  4. 應用XPath查詢到XML

相信我,XML庫能很好地處理巨大的結構(包括閒置的html標籤)並遍歷它們。使用xpath的經典示例是我的this post

要確定數據節點路徑,您只需使用網絡檢查器工具(F12 - 在Chrome和IE中,按Ctrl + Shift + I在FF中)查看包含有用信息的html標記。