我環顧了類似的問題,但不幸的是,沒有得到任何解決方案。正則表達式捕獲HTML源代碼中大括號的所有內容
我目前正試圖根據內容對網站進行分類,並且要做到這一點,我正在獲取他們的HTML源代碼並對其執行某種文檔/關鍵字分類。
現在,我正在取代很多停用詞,但是我想排除HTML源代碼中的函數聲明之類的東西。舉例來說:
function(){
... // function definition
}
我想擺脫大括號之間的所有內容,所以它只是一個空的聲明。我在Python與正則表達式庫這樣做,並嘗試以下操作:
htmlSource = re.sub('/\{([^}]+)\}/', '', htmlSource)
不幸的是,這似乎只是擺脫的東西是被大括號直接包圍,而不是通過被封閉它。
我猜這個正則表達式也需要考慮任意數量的空白和換行符,但是我在正則表達式方面相當缺乏經驗。
任何人都可以幫忙嗎?順便說一下,我目前正在使用urllib2.urlopen()。response()來讀取html內容:如果有更好的方式獲得它(沒有不可見的JS函數聲明等),我會非常感謝,以及。
如果你已經「在類似的問題左顧右盼」,我看不出你如何能沒有注意到,他們都說用正則表達式解析HTML是一個壞主意。 – 2014-12-03 15:47:53
通過這個陳述我的意思是我看了一些正則表達式的問題,這些問題旨在做類似的事情,不管他們的推理如何。其次,我沒有將源存儲在數據庫中。第三,爲什麼我不想使用像're.sub('<[^<]+?>','',htmlSource)'這樣簡單的東西來擺脫標籤而不需要任何庫? – user991710 2014-12-03 15:51:01
@DanielRoseman沒想到我的回覆,我剛剛讀到你的意思。看起來我必須去圖書館路線。 – user991710 2014-12-03 15:55:57