可能重複:
Extracting text from HTML file using Python
Parsing Source Code (Python) Approach: Beautiful Soup, lxml, html5lib difference?從HTML標記中提取文本?
目前有大量網頁的源代碼〜20萬線的幾乎所有的(如果不是全部)HTML。更具體地說,它是一個網頁,其內容是通過換行符分隔的幾千個文本塊(雖然換行並不特別意味着內容有分隔)
我的主要目標是從源文本中提取文本代碼就好像我在將網頁複製/粘貼到文本編輯器中一樣。還有另一個我想用的解析函數,它最初採用複製/粘貼文本而不是源代碼。
爲此,我正在使用urllib2,並在Beautiful Soup中調用.get_text()。問題是,Beautiful Soup在我的代碼中留下了大量的空白空間,並且很難將結果傳遞給第二個「文本」解析器。我已經做了很多關於解析HTML的研究,但坦率地說我不知道如何輕鬆解決這個問題。此外,我對如何使用像lxml這樣的導入來提取文本感到困惑。
tl;博士:是否有任何可能的方式來實現結果,就像我在網頁上選擇全部,複製,粘貼一樣?
爲了清楚起見,HTML不是源代碼。這是標記。 –
如果你有一個解決方案,但唯一的問題是有太多的空白空間,你不能只刪除額外的空白空間?試試're.sub(r「\ s +」,「」,text)'。 –
- 大衛感謝您的更正! @GregHewgill這將刪除原始網頁中存在的節距否?另一個解析函數在函數中使用這些空白作爲各種分隔符,所以我不想刪除它們。 ): – zhuyxn