2011-11-26 67 views
0

我目前正在研究一個涉及程序的項目,該程序使用Python來檢查網頁的HTML。我的程序必須監視一個網頁,當對HTML進行更改時,它會完成一組操作。我的問題是如何提取網頁的一部分,以及如何監控網頁的HTML並在發生變更時立即報告。謝謝。使用python從網站中提取HTML的部分

回答

2

在過去,我寫了自己的解析器。如今HTML是HTML 5,多個語句,更多的JavaScript,很多crappiness的開發人員和他們的編輯完成的,像

document.write('<SCR' + 'IPT 

而且一些Web框架/開發者糟糕的編碼改變的Last-Modified HTTP標頭中的每一個請求,即使對於人來說,您在頁面上閱讀的文本也不會改變。

我建議你BeautifulSoup爲解析的東西;通過您自己,您必須小心選擇要監視的內容,以決定網頁是否被修改。

其介紹:

BeautifulSoup是一個Python包,解析破HTML,就像 LXML支持它的基礎上的libxml2的解析器。 BeautifulSoup使用不同的解析方法。它不是一個真正的HTML解析器,但使用正則表達式來瀏覽標籤湯。因此,在某些情況下,更多的是寬容的,而其他的則不那麼好。 並不罕見,lxml/libxml2更好地解析並修復了損壞的HTML,但 BeautifulSoup對編碼檢測有着卓越的支持。它非常依賴於解析器工作得更好的輸入。