2013-04-10 20 views
0

我剛開始學習Python 3。(我正在讀的書巨蟒和我有問題...)Python讀物或保存HTML源代碼逐行

我有問題要閱讀並從HTML找到關鍵詞資源。

我寫信給打開url的代碼。 例如,

page =urllib.request.urlopen(some url) 
text = page.read().decode("utf8") 

因此,我假定文本包含所有的HTML代碼和文本是對象。

問題1. 我想用某種數組或ArrayList存儲html源代碼。 但是,我不確定如何從「文本」對象中獲取代碼行並將其存儲到某種數組中。

問題2: python是否有「包含」函數來從數組中找到像「堆棧溢出」這樣的特殊關鍵字?

謝謝。

+2

使用HTML解析器; http://docs.python.org/2/library/htmlparser.html和你的整個HTML源代碼將變成一個可交互的對象。 – 2013-04-10 22:23:03

+0

@Allendar - 只使用標準庫解析器 - 它是蹩腳的:) [BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/)也許? – root 2013-04-10 22:28:08

+0

然後呢? :) https://pypi.python.org/pypi/beautifulsoup4/4.1.3 – 2013-04-10 22:31:34

回答

1

如果你想分析整個HTML文檔結構,不要試圖自己編程 - 像Allendar說的那樣,併爲它使用一個庫。

如果您只是想搜索並找到文本中的特定內容,請使用正則表達式(「re」模塊)。

在線條(CR/LF)的傳統意義上討論HTML的「線條」並沒有什麼意義。整個頁面可以在一行中。它是結構化HTML的標籤,而不是行。