【发布时间】:2020-05-20 14:46:58
【问题描述】:
我正在尝试从 Wikipedia 表格 (https://en.wikipedia.org/wiki/NBA_Most_Valuable_Player_Award) 中提取有关 NBA 历史上 MVP 得主的数据。
这是我的代码:
wik_req = requests.get("https://en.wikipedia.org/wiki/NBA_Most_Valuable_Player_Award")
wik_webpage = wik_req.content
soup = BeautifulSoup(wik_webpage, "html.parser")
my_table = soup('table', {"class":"wikitable plainrowheaders sortable"})[0].find_all('a')
print(my_table)
for x in my_table:
test = x.get("title")
print(test)
但是,此代码会打印表格的所有 HTML 标题标签,如下所示(短版):
'1955–56 NBA season
Bob Pettit
Power Forward (basketball)
United States
St. Louis Hawks
1956–57 NBA season
Bob Cousy
Point guard
Boston Celtics'
最后,我想创建一个 pandas 数据框,在其中我将所有赛季年份存储在一个列中,将所有玩家年份存储在一个列中,依此类推。仅打印一个 HTML 标签标题(例如仅 NBA 赛季年份)的诀窍是什么代码?然后我可以将它们存储到一个列中来设置我的数据框,并对球员、位置、国籍和球队做同样的事情。
【问题讨论】:
标签: python web-scraping beautifulsoup