需要使用python在xml中查找主体id
使用urllib2.Request(url)和BeautifulSoup返回以下内容:需要使用python在xml中查找主体id,python,xml,urllib2,Python,Xml,Urllib2,使用urllib2.Request(url)和BeautifulSoup返回以下内容: <?xml version="1.0" encoding="utf-8"?> <results> <status code="ok"> </status> <principal-list> <principal account-id="1013353221" has-children="false" is-hidden="false"
<?xml version="1.0" encoding="utf-8"?>
<results>
<status code="ok">
</status>
<principal-list>
<principal account-id="1013353221" has-children="false" is-hidden="false" is-primary="false" principal-id="1013353225" training-group-id="" type="user">
<name>
First Last
</name>
<login>
first.last
</login>
<email>
first.last@domain.com
</email>
<display-uid>
first.last
</display-uid>
</principal>
<principal account-id="1013353221" has-children="false" is-hidden="false" is-primary="false" principal-id="1115269931" training-group-id="" type="user">
<name>
First Last
</name>
<login>
first.last
</login>
<email>
first.last@domain.com
</email>
<display-uid>
first.last
</display-uid>
</principal>
</principal-list>
</results>
我想调用
username=sys.argv[1]
,让它返回中包含的用户名的主体id
,也许可以尝试查看,它解析html。嗯……听起来很有趣
试着这样做:
req = urllib2.Request(url)
response = urllib2.urlopen(req)
userlist = response.read()
soup = BeautifulSoup(userlist)
username = sys.argv[1]
def get_id(username_var):
tags = soup.findAll('login')
for data in tags:
if str(data.contents[0]).strip() != username_var:
continue
print data.parent['account-id']
get_id(username)
这将返回与提供的用户名关联的帐户ID。WOW!我怎么没想到呢。现在看起来好多了。谢谢你的帮助。我想我现在有一个更好的问题。如果这对您有效,那么您应该单击此条目旁边的复选图标。
req = urllib2.Request(url)
response = urllib2.urlopen(req)
userlist = response.read()
soup = BeautifulSoup(userlist)
username = sys.argv[1]
def get_id(username_var):
tags = soup.findAll('login')
for data in tags:
if str(data.contents[0]).strip() != username_var:
continue
print data.parent['account-id']
get_id(username)