我的任务是抓取一个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]
为了提高性能,可以使用http://lxml.de/并使用XPath查询来提取所需的信息。你知道吗
BeautifulSoup是围绕不同库的包装器—您可以选择哪一个—但通常用于解析HTML,而不是XML。你知道吗
相关问题 更多 >
编程相关推荐