0

Web ページにアクセスし、小さな API のようにソース内の div から情報を取得する python パーサーを作成しました。しかし、異なるアカウントではより多くの 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&nbsp;Team</label>
        <div class="Badges">

            <div id="AdminLaunchTeam" class="Badge"></div>

            <div id="Old Skool Player" class="Badge"></div>

        </div>
    </div>

ありがとう。レミ

4

1 に答える 1