Trying to use Network XHR to grab JSON String from URL -- Getting error 'too many values to unpack (expected 2)'

问题描述 投票:0回答:0

我去了这个链接。

https://www.nba.com/stats

我按下 Ctrl+Shift+I,我看到了这个视图。

我按“大小”= 207.07 kB 排序,因为我认为它拥有最多的数据。然后我查看了 Request Headers 3.711 kB,作为 Raw,并从那里复制标头,并将其粘贴到“payload”中。

我以为我可以复制数据行/列并将其推送到数据框中,但它根本不起作用。我收到一条错误消息,提示“ValueError:要解压的值太多(预期为 2)”。

有人能解释一下如何获得正确的“headers”和“payload”来完成这项工作吗?请详细说明。

我认为我的代码有点接近,但肯定有问题。这是我正在测试的脚本。

import requests
import pandas as pd


url = 'https://stats.nba.com/'
headers= {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
         'Referer': 'https://www.nba.com/'}


payload = {'GET /fpo7inzNP/PN/olKgRcw/1Lf9hwY95uaO/UFoWMEI/KE/IqbQZHTlw HTTP/2',
        'Host: www.nba.com',
        'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0',
        'Accept: */*',
        'Accept-Language: en-US,en;q=0.5',
        'Accept-Encoding: gzip, deflate, br',
        'Connection: keep-alive',
        'Referer: https://www.nba.com/stats',
        'Sec-Fetch-Dest: script',
        'Sec-Fetch-Mode: no-cors',
        'Sec-Fetch-Site: same-origin'}

jsonData = requests.get(url, headers=headers, params=payload).json()

rows = jsonData['resultSets'][0]['rowSet']
columns = jsonData['resultSets'][0]['headers']

df = pd.DataFrame(rows, columns=columns)
df
python json python-3.x mozilla payload
© www.soinside.com 2019 - 2024. All rights reserved.