2016-11-14 19 views
0

Моя задача - захватить kml-файл, извлечь 1 помеченное значение и отправить его Mongo в geojson. Я получаю файл как объект двоичных запросов.Эффективные способы извлечения XML-метки в Python

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

Мой вопрос заключается в том, чтобы найти «лучший» подход, чтобы получить значение из тега. Подумайте, у меня есть несколько источников, которые нужно отсканировать с минуты, поэтому, хотя один запуск может занять недолгое время, он будет расти (осознавая, что фактический импорт файла будет стоить больше, чем любой процесс извлечения).

Подходы, которые я пробовал, - BeautifulSoup, slicing и regex. Все они отлично работают, но я хотел бы получить некоторый вклад в альтернативы и/или плюсы и минусы.

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] 

ответ

0

Для выполнения, вы можете использовать http://lxml.de/ и использовать запрос XPath, чтобы извлечь информацию, которую вы хотите.

BeautifulSoup - это обертка вокруг разных библиотек - вы можете выбрать, какой из них - но обычно это для разбора HTML, а не XML.

 Смежные вопросы

  • Нет связанных вопросов^_^