Получить данные XML с критериями - PullRequest
0 голосов
/ 15 января 2020

У меня есть следующий код:

import pandas as pd
import urllib.parse
from urllib.request import urlopen
import requests
from bs4 import BeautifulSoup


url = 'http://windte2001.acepta.com/v01/E67EBB4910CFDCB067EB7D85FBA6E5511D0E64A9'.replace('/v01/', '/depot/')
x = urlopen(url)
new = x.read()
soup = BeautifulSoup(new, "lxml-xml")
result = soup.find_all(['NmbItem','QtyItem'])

, который приносит следующий результат в xml

<NmbItem>SERV. MANEJO  DE LIQUIDOS</NmbItem>, <QtyItem>22.00</QtyItem>, <NmbItem>SERV. MANEJO DE RESPEL</NmbItem>, <QtyItem>1.00</QtyItem>]

Все, что мне нужно, если NmbItem содержит 'LIQUIDOS', принесите мне 'QtyItem в этом случае это 22 * ​​1007 *

Как я могу сделать это с python в этом xml?

Ответы [ 2 ]

1 голос
/ 15 января 2020

Вы можете использовать регулярное выражение.

import re
from bs4 import BeautifulSoup

soup=BeautifulSoup(new,'xml')
result=soup.find('NmbItem',text=re.compile("LIQUIDOS")).find_next('QtyItem').text
print(result)
1 голос
/ 15 января 2020

Вы можете сделать так:

result = soup.find_all(['NmbItem'])
for item in result:
    if 'LIQUIDOS' in item.text:
        print(list(item.next_siblings)[3].text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...