使用python从网站中提取HTML的部分内容

时间:2011-11-26 21:43:07

标签: python html

我目前正在开发一个项目,该项目涉及使用Python检查网页HTML的程序。我的程序必须监视一个网页,当对HTML进行更改时,它将完成一组操作。我的问题是你如何只提取网页的一部分,以及如何监控网页的HTML并在进行更改时立即报告。感谢。

2 个答案:

答案 0 :(得分:2)

过去我编写了自己的解析器。现在HTML是HTML 5,更多的语句,更多的Javascript,开发人员及其编辑所做的很多困难,比如

document.write('<SCR' + 'IPT

一些Web框架/开发人员的错误编码会在每个请求中更改HTTP标头中的Last-Modified,即使对于人而言,您在页面上阅读的文本也不会更改。

我建议您BeautifulSoup进行解析;你自己必须仔细选择要观察的内容,以决定网页是否被修改。

介绍:

  

BeautifulSoup是一个解析破碎HTML的Python包,就像   lxml基于libxml2的解析器支持它。 BeautifulSoup使用了   不同的解析方法。它不是真正的HTML解析器,而是使用   正则表达式潜水标签汤。因此更多   在某些情况下宽容,在别人情况下则不太好。这并不罕见   lxml / libxml2更好地解析和修复损坏的HTML,但是   BeautifulSoup对编码检测有很好的支持。非常   很大程度上取决于解析器更好地工作的输入。

答案 1 :(得分:1)

Scrapy可能是一个很好的起点。 http://doc.scrapy.org/en/latest/intro/overview.html

获取网站的各个部分很简单,它只是xml,你可以使用scrapy或beautifulsoup。