簡體   English   中英

python,漂亮的湯,xml解析

[英]python, beautiful soup, xml parsing

如何從以下XML獲取緯度和經度值:

<?xml version="1.0" encoding="utf-8"?>
<location source="FoundByWifi">
<coordinates latitude="49.7926292" longitude="24.0538406" 
nlatitude="49.7935180" nlongitude="24.0552174" />
</location>

我嘗試使用get_text但這種方式不起作用(

r = requests.get(url)
soup = BeautifulSoup(r.text)
lat = soup.find('coordinates','latitude').get_text(strip=True)

查看在線演示

html_doc = """
<?xml version="1.0" encoding="utf-8"?>
<location source="FoundByWifi">
<coordinates latitude="49.7926292" longitude="24.0538406" 
nlatitude="49.7935180" nlongitude="24.0552174" />
</location>
"""
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')
lat = soup.find_all('coordinates')

for i in lat:
  print(i.attrs['latitude'])
  print(i.attrs['longitude'])

“緯度”是“坐標”標簽內的屬性。 找到坐標后,湯對象將所有屬性存儲在類似dict的鍵值存儲中。

因此,在您的情況下,找到坐標標簽后,請按以下方式檢查“緯度”鍵:

lat = soup.find('coordinates')['latitude']

您甚至可以在開頭或結尾處剝離任何多余空格的結果:

lat = soup.find('coordinates')['latitude'].strip()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM