以下是样本内容:
<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的值-- "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)我想不出怎样才能得到确切的值。任何帮助都将非常感谢!
发布于 2020-11-23 19:44:34
如果要检索每个wkext-meta-attr的值,可以使用the`.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'])https://stackoverflow.com/questions/64966365
复制相似问题