2017-11-02 12 views
1
import requests 



payload = {"query":"query GamePage_Game($name: String!, $type: DirectoryType!, $limit: Int, $languages: [String!], $cursor: Cursor, $filters: StreamMetadataFilterInput) {\n directory(name: $name, type: $type) {\n id\n displayName\n ... on Community {\n  id\n  streams(first: $limit, after: $cursor, languages: $languages) {\n  edges {\n   cursor\n   node {\n   id\n   title\n   viewersCount\n   previewImageURL(width: 320, height: 180)\n   broadcaster {\n    id\n    login\n    displayName\n    __typename\n   }\n   game {\n    id\n    boxArtURL(width: 285, height: 380)\n    name\n    __typename\n   }\n   __typename\n   }\n   __typename\n  }\n  pageInfo {\n   hasNextPage\n   __typename\n  }\n  __typename\n  }\n  __typename\n }\n ... on Game {\n  id\n  product {\n  id\n  __typename\n  }\n  streams(first: $limit, after: $cursor, languages: $languages, filters: $filters) {\n  edges {\n   cursor\n   node {\n   id\n   title\n   viewersCount\n   previewImageURL(width: 320, height: 180)\n   broadcaster {\n    id\n    login\n    displayName\n    __typename\n   }\n   game {\n    id\n    boxArtURL(width: 285, height: 380)\n    name\n    __typename\n   }\n   __typename\n   }\n   __typename\n  }\n  pageInfo {\n   hasNextPage\n   __typename\n  }\n  __typename\n  }\n  __typename\n }\n __typename\n }\n}\n","variables":{"name":"PLAYERUNKNOWN'S BATTLEGROUNDS","limit":30,"languages":[],"type":"GAME","filters":{"hearthstoneBroadcasterHeroName":"","hearthstoneBroadcasterHeroClass":"","hearthstoneGameMode":"","overwatchBroadcasterCharacter":"","leagueOfLegendsChampionID":"","counterStrikeMap":"","counterStrikeSkill":""}},"operationName":"GamePage_Game"} 
r = requests.post('https://gql.twitch.tv/gql', data=payload) 


print(r.text) 

私が遭遇してる問題は、私は単収縮(ように、視聴者数及び)から情報を取得するには、このスクリプトを実行しようとするが、私が得る応答が {"error":"Bad Request","status":400,"message":"invalid request body format"}あるときということです。なぜ私は理解できません。代わりにdataPythonの要求400エラー

(私は攣縮ページを更新する際のchrome devのツールで「ネットワーク」タブからペイロードを手に入れた)

答えて

1

使用json

requests.post('https://gql.twitch.tv/gql', json=payload) 
関連する問題