Python 从XHR请求返回的嵌套列表中提取第二个列表
我使用以下代码通过复制提交给网站的XHR请求从网站返回数据:Python 从XHR请求返回的嵌套列表中提取第二个列表,python,xmlhttprequest,python-requests,Python,Xmlhttprequest,Python Requests,我使用以下代码通过复制提交给网站的XHR请求从网站返回数据: import requests url = 'http://www.whoscored.com/stageplayerstatfeed/-1/Overall' params = { 'field': '0', 'isAscending': 'false', 'isMoreThanAvgApps': 'true', 'isOverall': 'false', 'numberOfPlayersToPick': '20', 'orderB
import requests
url = 'http://www.whoscored.com/stageplayerstatfeed/-1/Overall'
params = {
'field': '0',
'isAscending': 'false',
'isMoreThanAvgApps': 'true',
'isOverall': 'false',
'numberOfPlayersToPick': '20',
'orderBy': 'Rating',
'page': '1',
'stageId': '9155',
'teamId': '-1'
}
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest',
'Host': 'www.whoscored.com',
'Referer': 'http://www.whoscored.com/'}
responser = requests.get(url, params=params, headers=headers)
responser = responser.text
responser = responser.encode('cp1252')
print responser
这将返回一组嵌套列表。第一个列表是一个简单的列表,而第二个列表是一个字典列表。我想返回第二个列表
我已尝试将代码的最后一行修改为打印应答器[1]
,但出于某种原因,这只是打印一个[
有人能理解为什么这不能满足我的要求吗
谢谢
responser
变量包含一个JSON字符串。这意味着当您获取responser[1]
时,您基本上从字符串中获取第二个字符,即[
将JSON字符串加载到python列表中。最简单的方法是使用requests
模块提供的方法:
responser = requests.get(url, params=params, headers=headers)
data = responser.json()
print data[1]
因为您正在将请求-响应转换为文本。所以这一行:
responser = responser.text
应该是:
responser = responser.json()
然后您可以打印:
print responser[1]