我创建了一个 python 解析器,它将访问一个网页,然后从源内部的 div 中获取信息,就像一个小 API。但是对于不同的帐户,会有更多的 DIVS,它会作为错误的读数返回。
每当我进入管理员帐户时,它总是显示 {"PlayerExists": false}。
我的代码:
if 'PlayerName' in self.request.GET:
self.response.headers['Content-Type'] = 'application/json'
docType = '{http://www.w3.org/1999/xhtml}'
PlayerName = self.request.GET['PlayerName']
gamertagava = self.request.GET['PlayerName']
output = {}
try:
msPageHandle = urllib.urlopen('http://nflplayers.mobi/'+PlayerName+'.html')
msPage = msPageHandle.read()
msPageHandle.close
parse = ET.fromstring(msPage)
except:
output['PlayerExists'] = False
self.response.write(json.JSONEncoder().encode(output))
return
output['AdminTeam'] = parse.find('.//*[@id="AdminTeam"]')
output['AdminLaunchTeam'] = parse.find('.//*[@id="AdminLaunchTeam"]')
output['Old Skool Player'] = parse.find('.//*[@id="Old Skool Player"]')
output['PlayerName'] = parse.find('.//*[@id="PlayerName"]').text
output['Playerscore'] = parse.find('.//*[@id="Playerscore"]').text
if output['Playerscore']=='--':
output['PlayerExists'] = False
output['Playerscore'] = 0
else:
output['GamertagExists'] = True
output['Playerscore'] = int(output['Playerscore'])
管理员有一个额外的 DIV,所以我不知道这是否是问题所在。就是这样。欢迎任何帮助。
<div id="AdminTeam">
<label>Admin Team</label>
<div class="Badges">
<div id="AdminLaunchTeam" class="Badge"></div>
<div id="Old Skool Player" class="Badge"></div>
</div>
</div>
谢谢。雷米