【发布时间】:2021-04-12 20:59:10
【问题描述】:
我仍在学习网络抓取,如果我能得到任何帮助,我将不胜感激。感谢社区的帮助,我能够成功地抓取 NBA 球员数据(球员姓名和球员统计数据)并将数据连接到一个数据帧中。
下面是代码:
import pandas as pd
import requests
url = 'https://www.espn.com/nba/team/stats/_/name/lal/season/2020/seasontype/2'
df = pd.read_html(url)
df_concat = pd.concat([df[0], df[1], df[3]], axis=1)
我现在想遍历多个 url 以获取不同团队的数据,然后将所有不同的团队合并到一个数据帧中。
这是我目前的代码:
import pandas as pd
teams = ['chi','den','lac']
for team in teams:
print(team)
url = 'https://www.espn.com/nba/team/stats/_/name/{team}/season/2020/seasontype/2'.format(team=team)
print(url)
df = pd.read_html(url)
df_concat = pd.concat([df[0], df[1], df[3]], axis=1)
我尝试将 url 中的“lal”更改为变量 team。当我运行这个脚本时,scrape 非常非常慢,并且只给了我团队“lac”的数据框,而不是“chi”或“den”。对最好的方法有什么建议吗?我从未尝试过抓取多个网址。
同样,如果可能,我会将每个团队的数据合并到一个大型数据框中。提前感谢您提供的任何帮助。我将从这个项目中学到很多东西。 =)
【问题讨论】:
标签: python dataframe url concatenation