python-3.x - 使用漂亮的汤解析 SGML
问题描述
以下是示例内容:-
<WKEXT-META-ATTRS>
<WKEXT-META-ATTR NAME="uri" VALUE="http://sample.com/ceres/wk-us/Concept/i8148" DATA-TYPE="OTHER"></WKEXT-META-ATTR></WKEXT-META-ATTRS></WKEXT-META-OBJECT>
<WKEXT-META-OBJECT NAME="UNIONREPINFO" ID="ext-met-0005" PUBLISHER-URI="http://wk-us.com/meta/publishers/#CCH">
<WKEXT-META-ATTRS>
<WKEXT-META-ATTR NAME="UnionRep" VALUE="Jim Gookins" DATA-TYPE="OTHER"></WKEXT-META-ATTR></WKEXT-META-ATTRS></WKEXT-META-OBJECT>
<WKEXT-META-OBJECT NAME="TOPICALSUBJECTINFO" ID="ext-met-0006" PUBLISHER-URI="http://sample.com/meta/publishers/#CCH">
<WKEXT-META-ATTRS>
<WKEXT-META-ATTR NAME="uri" VALUE="http://sample.com/ceres/sample/Concept/i8173" DATA-TYPE="OTHER"></WKEXT-META-ATTR></WKEXT-META-ATTRS></WKEXT-META-OBJECT>
<WKEXT-META-OBJECT NAME="TOPICALSUBJECTINFO" ID="ext-met-0007" PUBLISHER-URI="http:/sample/meta/publishers/#CCH">
我想提取uri的VALUE——“http://sample.com/ceres/wk-us/Concept/i8141
我目前正在尝试使用以下代码:-
with open ("sample.sgm","r")as f:
contents =f.read()
soup = BeautifulSoup(contents, 'lxml')
s = soup.find('wkext-meta-attr').attrs
#for a in s:
# t = a.attrs
# for key,value in t.items():
# alias_text.append(t['normval'])
#print(alias_text)
#df = DataFrame(alias_text, columns=['arbitratorname'])
#s_topic=soup.find('WKEXT-META-ATTRS'=
print(s)
我无法弄清楚如何获得确切的价值。任何帮助都感激不尽!!!
解决方案
如果要检索 each 的值wkext-meta-attr
,可以使用`.findAll() 方法,然后循环遍历每个元素。检查以下代码是否满足您的任务:
from bs4 import BeautifulSoup
with open ("sample.sgm","r")as f:
contents =f.read()
soup = BeautifulSoup(contents, 'html.parser')
meta_attrs = soup.findAll('wkext-meta-attr')
for meta_attr in meta_attrs:
print(meta_attr['value'])
推荐阅读
- python - Flask python setup:安装时的oauthlib版本问题
- php - 我的代码中似乎无法识别 phpMyAdmin mySQL 数据库?
- datepicker - 我无法让 Material UI DatePicker 正确解析英国日期
- c++ -
- ffmpeg - 找不到流 0 的编解码器参数(视频:hevc,无):未指定大小
- android - 如何将我的应用程序中的 apk 共享到 android 中的 whatsapp?
- python - /update 'date' 处的 MultiValueDictKeyError
- java - 异常渲染qute模板
- python - 如何解决在pytorch中加载预训练模型时的大小不匹配问题?
- python - PYTHON SELENIUM 有没有办法在这个网站上通过 sendkeys 上传照片?