Нужно, распарсить xml в питоне, но назло мне появились проблемы с кодировкой.
Сначала сделал запрос к API (тут все норм)
import requests
#Переменные с параметрами для запроса
game = 'insurg'
count = '100'
gameme_page = 'http://stats.whiskey-server.ru'
#Сам запрос
req = gameme_page + '/api/playerlist/' + game + '?limit=' + count
r = requests.get(req)
print(r.encoding)
resp = r.text.encode('utf-8')
print(resp)
Но вот как дело дошло до парсинга тут появились проблемы
Вот такой код, выдает ошибку кодировки UnicodeEncodeError: 'ascii' codec can't encode character
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
game = 'insurg'
count = '100'
gameme_page = 'http://stats.whiskey-server.ru'
req = gameme_page + '/api/playerlist/' + game + '?limit=' + count
r = requests.get(req)
resp = r.text.encode("utf-8")
soup = BeautifulSoup(resp, 'xml')
print (soup.prettify())
Подставил .encode(«utf-8») к prettify
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
game = 'insurg'
count = '100'
gameme_page = 'http://stats.whiskey-server.ru'
req = gameme_page + '/api/playerlist/' + game + '?limit=' + count
r = requests.get(req)
resp = r.text
soup = BeautifulSoup(resp, 'xml')
print (soup.prettify().encode("utf-8"))
'<?xml version=«1.0» encoding=«utf-8»?>\n<gameME>\n <vendor>\n <label>\n gameME\n </label>\n <webpage>\n ......
Объясните пожалуйста как распарсить все это по-человечески.
P.s Если что, для доступа к GameME API никаких токенов не нужно, так что у вас вполне получится опробовать код самим