2016-07-03 11 views
0

をデコードすることができます。https://www.whoscored.com/Regions/252/Tournaments/2/Seasons/5826/Stages/12496/TeamStatistics/England-Premier-League-2015-2016Scraping-エラー:いいえJSONオブジェクトは、だから私は、教育目的のために、このページの表をこすりしようとしている

マイ印刷応答が

<Response [200]> 

これは、それは良いことだ意味するだろうを与えます、右?私は「とValueErrorを:いいえJSONオブジェクトをデコードすることができ」取得変数にresponse.json()を入れて、それをプリントアウトしようとすると、しかし、ここで

を私のコードです:

import requests 


headers = { 
'accept-encoding': 'gzip, deflate, sdch, br', 
'x-requested-with': 'XMLHttpRequest', 
'accept-language': 'nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4', 
'user-agent': 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36', 
'accept': 'application/json, text/javascript, */*; q=0.01', 
'referer': 'https://www.whoscored.com/Regions/252/Tournaments/2/Seasons/5826/Stages/12496/TeamStatistics/England-Premier-League-2015-2016', 
'model-last-mode': 'GgVBlUgZgMvkAZA4DkgCYAYJauGyQ5BQAQW5ZLGd5qk=', 
'authority': 'www.whoscored.com', 
'cookie': 'visid_incap_774904=E5yi1BIhTqKa7QY7CTHvbCgWQlcAAAAAQUIPAAAAAAAbmGcCJZ/yA5tiB2vsu1g6; crtg_rta=cc970250d%3Bcc300600d%3Bhw970250d%3B; incap_ses_128_774904=GEttC+rfv2wXecdRg7/GAUAaeVcAAAAA5ZSbfyTF02TorJxEKZxkUg==; _gat=1; _ga=GA1.2.1512369618.1463948865', 
} 

params = { 
'category': 'shots', 
'subcategory': 'zones', 
'statsAccumulationType': '0', 
'field': '', 
'tournamentOptions': '', 
'timeOfTheGameStart': '0', 
'timeOfTheGameEnd': '5', 
'teamIds': '', 
'stageId': '12496', 
'sortBy': 'Rating', 
'sortAscending': '', 
'page': '1', 
'numberOfTeamsToPick': '', 
'isCurrent': 'true', 
'formation': '' 
} 

response = requests.get('https://www.whoscored.com/StatisticsFeed/1/GetTeamStatistics?category=shots&subcategory=zones&statsAccumulationType=0&field=&tournamentOptions=&timeOfTheGameStart=0&timeOfTheGameEnd=5&teamIds=&stageId=12496&sortBy=Rating&sortAscending=&page=1&numberOfTeamsToPick=&isCurrent=true&formation=', headers=headers, params=params) 


data = response.json() 
print data 

答えて

1

あなたが印刷していますオブジェクト、あなたはtext属性を呼び出す必要があります。応答オブジェクトにjson属性がありません。

result = requests.get(url) 
print result.text 

あなたはJSONの結果を取得したい場合は、文字列で結果を解析し、辞書に変換する必要があり、その後、JSON

+0

にそれを回すためにjson.dumpsを使用することが戻るように見えますJSONではなくHTMLです これはIncapsulaによって保護されているようです。 – Kyriediculous

+0

この場合は、BeautifulSoupなどを使用してそれをスクレープし、dictに変換してjson要素に変換する必要があります。 –

+0

ありがとう、私はBSとセレンの両方がうまくいくことを読んだ。私はそれらの両方を調べます。ご協力いただきありがとうございます ! – Kyriediculous

関連する問題