2013-04-10 74 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的标签,而不是行。