【发布时间】:2021-11-11 14:57:27
【问题描述】:
大家好。
我正在尝试从附加到“player_page”的链接中获取每个页面上的表格。 我想要那个赛季每个球员每场比赛的统计数据,我想要的表格列在球员的个人页面上。附加的每个链接都是正确的,但我在运行循环时无法捕获正确的信息。
知道我在这里做错了什么吗?
感谢任何帮助。
from bs4 import BeautifulSoup
import requests
import pandas as pd
from numpy import sin
url = 'https://www.pro-football-reference.com'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
year = 2018
r = requests.get(url + '/years/' + str(year) + '/fantasy.htm')
soup = BeautifulSoup(r.content, 'lxml')
player_list = soup.find_all('td', attrs= {'class': 'left', 'data-stat': 'player'})
player_page = []
for player in player_list:
for link in player.find_all('a', href= True):
#names = str(link['href'])strip('')
link = str(link['href'].strip('.htm'))
player_page.append(url + link + '/gamelog' + '/' + str(year))
for page in player_page:
dfs = pd.read_html(page)
yearly_stats = []
for df in dfs:
yearly_stats.append(df)
final_stats = pd.concat(yearly_stats)
final_stats.to_excel('Fantasy2018.xlsx')
【问题讨论】:
标签: python-3.x pandas web-scraping