如何使用python查询XHTML?

时间:2009-12-01 04:45:29

标签: python html

我在我的ASP .net网站上为python创建了一个简单的测试工具。

我想在结果页面中查找一些HTML标记以查找某些值。\

在python中执行此操作的最佳方式是什么?

例如(返回页面):

<div id="ErrorPanel">An error occurred......</div>

将显示(在python的std中):

Error: .....

<td id="dob">23/3/1985</td>

会显示:

Date of birth: 23/3/1985

2 个答案:

答案 0 :(得分:4)

您是否要解析XML,正如您在问题文本中所示的问题标题或HTML中所述?对于后者,我建议BeautifulSoup - 下载并安装它,然后,一旦从HTML中生成soup对象,您就可以轻松找到具有特定ID(或其他属性)的标记),例如:

errp = soup.find(attrs={'id': 'ErrorPanel'})
if errp is not None:
  print 'Error:', errp.string

并且类似于另一种情况(如果您正在寻找非唯一属性,可以轻松调整,例如进入循环,等等)。

答案 1 :(得分:4)

您也可以使用lxml执行此操作。它handles HTML very well,您可以使用CSS selectors来查询DOM,如果您经常使用jQuery这样的库,这会非常有吸引力。