Я отправляю запрос в API:
import requests as rq
resp_tf = rq.get("https://api.t....")
tf_text = resp_tf.text
Что печатает:
<?xml version = "1.0" encoding = "UTF-8"?>
<flowSegmentData version = "traffic-service 4.0.011">
<frc>FRC0</frc>
<currentSpeed>78</currentSpeed>
<freeFlowSpeed>78</freeFlowSpeed>
<currentTravelTime>19</currentTravelTime>
<freeFlowTravelTime>19</freeFlowTravelTime>
<confidence>0.980000</confidence>
<roadClosure>false</roadClosure>
<coordinates>
<coordinate>
.....
Теперь, как я могу получить значения тегов, например, «currentSpeed»
Это можно сделать с помощью модуля BeautifulSoup.
Код говорит сам за себя:
key
— это имя найденного тега, а value
— текст тега.from bs4 import BeautifulSoup
xml = """<?xml version = "1.0" encoding = "UTF-8"?>
<flowSegmentData version = "traffic-service 4.0.011">
<frc>FRC0</frc>
<currentSpeed>78</currentSpeed>
<freeFlowSpeed>78</freeFlowSpeed>
<currentTravelTime>19</currentTravelTime>
<freeFlowTravelTime>19</freeFlowTravelTime>
<confidence>0.980000</confidence>
<roadClosure>false</roadClosure>
<coordinates>
<coordinate>"""
soup = BeautifulSoup(xml, "html.parser")
print({tag.name: tag.text for tag in soup.find_all("currentspeed")})
Выход:
{'currentspeed': '78'}
Конечно, да, спасибо. БС - самый простой способ!
Вы можете попробовать это