从URL解析XML并从标记获取信息

2024-09-30 05:27:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python从XML中的标记“CRS”获取信息,并收集所有CRS标记,或者稍后编辑代码以检查特定的CRS

网址:https://wms.geonorge.no/skwms1/wms.adm_enheter_historisk?service=WMS&request=GetCapabilities

我可以获取数据,但我不知道如何从正确的标签获取信息

这是我目前的代码:

import urllib.request, urllib.parse, urllib.error
import xml.etree.ElementTree as ET

url = 'https://wms.geonorge.no/skwms1/wms.adm_enheter_historisk?service=WMS&request=GetCapabilities'
uh = urllib.request.urlopen(url)
data = uh.read()

tree = ET.fromstring(data)

从这里开始,我不确定如何继续使用tree.find()或tree.findall()

谢谢


Tags: no代码https标记treerequestserviceurllib
2条回答

试试这个

from simplified_scrapy import req, SimplifiedDoc
xml = req.get(
    'https://wms.geonorge.no/skwms1/wms.adm_enheter_historisk?service=WMS&request=GetCapabilities'
)
doc = SimplifiedDoc(xml)
listCRS = doc.selects('CRS')
print(listCRS)

这就是我所做的。我需要检查XML是否包含CRS EPSG:3857。因此,我没有获取CRS标记中的所有信息,而是解决了测试解析后的XML是否包含文本“EPSG:3857”的问题

import urllib.request, urllib.parse, urllib.error
import xml.etree.ElementTree as ET

url = 'https://wms.geonorge.no/skwms1/wms.adm_enheter_historisk?service=WMS&request=GetCapabilities'
uh = urllib.request.urlopen(url)
data = uh.read()

projection = "EPSG:3857"

if projection in str(data):
    print("Contains")
else:
    print("Contains not")

现在在另一个程序中实现通过多个XML文件进行搜索

相关问题 更多 >

    热门问题