xml - 在 Python 中使用自闭合标签解析 XML 数据
问题描述
我可以在打开和关闭标签时使用标签来解析 XML 数据。喜欢<link>https://www.nba.com/bucks/</link>
在代码中,这变成了,
link = item['link']
如何解析自闭标签?
<enclosure url="https://www.nba.com/bucks/sites/bucks/files/styles/media_thumbnail/public/middleton_3point_tw.jpg?itok=eiU05Btp" length="37714" type="image/jpeg" />
另外,我如何仅获取图像 url 并?
在 URL 之后删除所有内容?
解决方案
使用 XML 解析器,例如https://docs.python.org/2/library/xml.etree.elementtree.html
XPath 定义了用于识别和提取 xml 文档中的元素/标签的标准表达式
将 XPaths 与良好的 xml 解析器一起使用,您可以轻松地找到文档中的任何元素。例如,在文档中查找所有附件元素的 xpath 将是“.//enclosure”
如果您正在解析大量 XML XPath,那么值得一读。这是一个很棒的入门教程https://www.w3schools.com/xml/xpath_intro.asp
例如你可以这样做:
import xml.etree.ElementTree as ET
tree = ET.parse('your_xml_file.xml')
enclosures = tree.findall(".//enclosure") # Use the XPath to find all enclosure elements
for enclosure in enclosures:
print(enclosure.attrib)
输出
{'url': 'https://www.nba.com/bucks/sites/bucks/files/styles/media_thumbnail/public/middleton_3point_tw.jpg?itok=eiU05Btp', 'length': '37714', 'type': 'image/jpeg'}
然后,您可以将 url 拆分为? 得到你的最终输出例如
url = enclosure.attrib['url'].split('?')[0]
print(url)
输出
https://www.nba.com/bucks/sites/bucks/files/styles/media_thumbnail/public/middleton_3point_tw.jpg
推荐阅读
- android - Android WorkManager 检索所有请求
- mongodb - 如何计算加入文档的比例?
- php - 如何真正暂停条带订阅
- handbrake - 如何使手刹使用强度较小的cpu?
- asp.net-core-mvc - 被 CORS 政策阻止:对预检请求的响应
- sql - Postgresql regex_replace 逗号,单引号和双引号
- gtk - 在 TreeView 中获取指针的行/单元格
- javascript - javascript 创建输入时选择 iOS 键盘
- sql - 如何在 Postgres 中授予以 parcel 开头的表的权限?
- nativescript - NativeScript URL Handler Plugin 无法正常工作