Python中提取XML标记字符串的有效方法

2024-04-19 11:44:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我的任务是抓取一个kml文件,提取1个标记值,并用geojson将其发送给Mongo。 我将文件作为二进制请求对象获取。你知道吗

    doc = requests.get(file).content #returning a XML tree.

我的问题是找到“最佳”方法来从标签中获取值。假设我有多个源代码需要按分钟扫描,因此即使一次运行可能不会花费那么长时间,它也会累积(请注意,实际的文件导入将比任何提取过程花费更多)。你知道吗

我尝试过的方法是漂亮的分组、切片和正则表达式。他们都工作得很好,但我很想得到一些意见的替代品和/或利弊。你知道吗

    def extractsubstring_soup(doc, start):
        soup = BeautifulSoup(doc, 'lxml-xml')
        return soup.start.string

    def extractsubstring_re(doc, start, stop):
        return re.search('%s(.*)%s' %(start, stop), a).group(1)

    def extractsubstring_slice(doc,start, stop):
        substart = doc.index(start) + len(start)
        subend = doc.index(end)
        return doc[substart:subend]

Tags: 文件方法reindexdocreturndefkml
1条回答
网友
1楼 · 发布于 2024-04-19 11:44:35

为了提高性能,可以使用http://lxml.de/并使用XPath查询来提取所需的信息。你知道吗

BeautifulSoup是围绕不同库的包装器—您可以选择哪一个—但通常用于解析HTML,而不是XML。你知道吗

相关问题 更多 >