2011-11-26 69 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对编码检测有着卓越的支持。它非常依赖于解析器工作得更好的输入。