如何从web scrape创建pandas数据框?

Abl*_*her 2 python json dataframe web-scraping pandas

我想使用这个web scrape创建一个pandas数据框,这样我可以将数据导出到excel.有人熟悉这个吗?我在网上和网站上看到了不同的方法,但是无法通过这种方法成功复制结果.

这是迄今为止的代码:

import requests

source = requests.get("https://api.lineups.com/nba/fetch/lineups/gateway").json()

for team in source['data']:
    print("\n%s players\n" % team['home_route'].capitalize())
    for player in team['home_players']:
        print(player['name'])
    print("\n%s players\n" % team['away_route'].capitalize())
    for player in team['away_players']:
        print(player['name'])
Run Code Online (Sandbox Code Playgroud)

这个网站似乎很有用,但示例不同:

https://www.tutorialspoint.com/python_pandas/python_pandas_dataframe.htm

这是stackoverflow.com的另一个例子:

将Web抓取结果加载到Pandas DataFrame中

我是编码/抓取的新手,所以任何帮助都会非常感激.提前感谢您的时间和精力!

Har*_*_pb 6

我已经添加了一个dataframe团队合作的解决方案,我希望这会有所帮助.Updated

import requests 

source = requests.get("https://api.lineups.com/nba/fetch/lineups/gateway").json()
players = []
teams = []
for team in source['data']:
    print("\n%s players\n" % team['home_route'].capitalize())
    teams.append(team['home_route'].capitalize())
    teams.append(team['away_route'].capitalize())
    temp = []
    temp1 = []
    for player in team['home_players']:
        print(player['name'])
        temp.append(player['name'])
    print("\n%s players\n" % team['away_route'].capitalize())
    for player in team['away_players']:
        print(player['name'])
        temp1.append(player['name'])

    players.append(temp)
    players.append(temp1)

import pandas as pd
df = pd.DataFrame(columns=teams)
for i in range(0, len(df.columns)):
    df[df.columns[i]] = players[i]

df
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

为了导出到excel,你可以做到

df.to_excel('result.xlsx')
Run Code Online (Sandbox Code Playgroud)