在Python中,我试图用两个字符串之间的正则表达式来提取信息。我想最好举一个例子。
<stuff>
1
2
3
4
</stuff>
<stuff>
5
7
8
9
</stuff>
我试图一次拉出其中一个容器*并将它们放在一个单独的文件中。我已经找到了如何在例如5 6 7 8之间拉取内容,并同时拉出所有记录(在bash中),但是还没有得到包含放在变量或文件中的正则表达式的完整容器,我可以使用的东西。
所以我想收集和包括&lt; stuff&gt;和&lt; /东西&GT;
任何建议都将不胜感激。我正在尝试在python2中工作。
答案 0 :(得分:1)
如果您需要解析XML格式的数据,可以尝试使用xml.etree.ElementTree模块中的工具。
from xml.etree.ElementTree import XML
single_item_data = XML("<stuff>1 2 3</stuff>").text
如果您有一些嵌套元素,可以执行以下操作:
from xml.etree.ElementTree import XML
test_input_xml = '''
<lotsOfStuff>
<stuff>
1
2
3
4
</stuff>
<stuff>
5
7
8
9
</stuff>
</lotsOfStuff>
'''
test_input = XML(test_input_xml)
stuffs = test_input.findall("stuff")
for stuff in stuffs:
element_text = stuff.text
print element_text
答案 1 :(得分:1)
如果您试图提供一个从HTML页面中抓取数据的简化图片,那么我强烈建议不要使用正则表达式[在SO中查找,为什么]。
使用BeautifulSoup或lxml。更好,更强大。