在BeautifulSoup中匹配标签

问题描述:

我想从美丽的结果中统计'汤'中的标签数量。我想用正则表达式,但遇到了麻烦。 伊夫尝试的代码如下:在BeautifulSoup中匹配标签

reg_exp_tag = re.compile("<[^>*>") 
tags = re.findall(reg_exp_tag, soup(cast as a string)) 

re不会允许reg_exp_tag,给正则表达式的错误的一个意想不到的一端。

任何帮助将不胜感激!

感谢

+0

为什么在*地球*上,你错误地解析HTML与一个坏的正则表达式,当你已经用BeautifulSoup正确解析它?真的,到底是什么? – bobince 2009-11-08 21:57:04

难道不该"<[^>]*>",而不是"<[^>*>"

(类需要与]关闭)

+0

非常感谢!一直盯着它看这么久没有看到简单的错别字! – db90 2009-11-08 20:29:55

+0

呵呵,当程序员决定用正则表达式解决问题时,他最终遇到了2个问题。 – Kugel 2009-11-08 20:58:22

如果您已经解析与BeautifulSoup的HTML,何必再分析它?试试这个:

num_tags = len(soup.findAll()) 
+1

+1没有正则表达式可能正确解析HTML,这就是为什么大多数人使用BeautifulSoup。 BeautifulSoup加上序列化到HTML和正则表达式只是一个错误! – bobince 2009-11-08 21:59:26