0
我的任务是抓取一个kml文件,提取1个标记值并将其发送到Mongo中的geojson。 我将文件作为二进制请求对象获取。在Python中提取XML标记字符串的有效方法
doc = requests.get(file).content #returning a XML tree.
我的问题是找到“最好”的方法来从标签中获取值。考虑到我有多个需要按分钟扫描的源代码,所以即使一次运行可能不需要那么长时间,也会累积(意识到实际的文件导入将比任何提取过程花费更多)。
我试过的方法是BeautifulSoup,切片和正则表达式。他们都工作得很好,但我很想得到一些关于替代品和/或优点和缺点的意见。
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]