使用正则表达式解析XML

时间:2015-04-17 09:37:01

标签: python parsing beautifulsoup

我想解析一些标签。

,模式是

<div id="tags">blah-blah<a href="http://url/tag">What_I_Want</a></div>

我认为它有效

re.findall(">"."</a></div>")

但它不是

这有什么问题?

------------更新我------------- 现在我知道用HTML不好。

raj给我一个答案

>>> from bs4 import BeautifulSoup
>>> s = '<div id="tags">blah-blah<a href="http://url/tag">What_I_Want</a></div>'
>>> soup = BeautifulSoup(s)
>>> soup.select('div > a:first')[0].text
'What_I_Want'

我有另一个问题。 我怎么能找到

<div id blah blah </div>

在整个文件中?

2 个答案:

答案 0 :(得分:1)

好像您正在尝试获取父标记a的直接子标记div的文本。

>>> from bs4 import BeautifulSoup
>>> s = '<div id="tags">blah-blah<a href="http://url/tag">What_I_Want</a></div>'
>>> soup = BeautifulSoup(s)
>>> soup.select('div > a:first')[0].text
'What_I_Want'
>>> soup.select('div > a')[0].text
'What_I_Want'

答案 1 :(得分:0)

简短回答:你不能

不同的简答:Python XML parser(甚至有例子)