我去了这个链接。
我按下 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