我有例如。以下几行HTML。我需要提取并获取og:image
和content
属性的列表。问题是,如果我做的是简单的string.split(),则下面的行的结果将不相同,因为第二行在content
值中有许多空格。
如何可靠地处理这些字符串并获得如下列表:
['og:image', 'http....whatever.jpg']
和第二行相同?
<meta property="og:image" content="http://google.com/example.jpg"/>
<meta property="og:title" content="Fant over 300 falske personer i skattelistene"/>
编辑: 我现在正在解析:
tree = etree.HTML( xml )
m = tree.xpath("//meta[@property]")
for i in m:
og = etree.tostring( i )
print og # <meta property="og:image" content="http://google.com/example.jpg"/>
也许有一种方法可以直接使用XPath将内容/属性放入列表中?
答案 0 :(得分:1)
不要将元素转换回字符串,只需通过每个元素的attrib
映射获取属性:
for i in m:
print (i.attrib['property'], i.attrib['content'])