【发布时间】:2021-03-28 06:02:06
【问题描述】:
所以我想提取每个数据块,中间有一个空格,现在我已经设置了循环,但是当我去打印时,它只提取了第二个玩家资料。知道如何解决这个问题吗?
如果它工作正常,输出将是:
Greg Oden C #20
Born: Jan 22, 1988 (33 years old)
Birthplace/Hometown: Buffalo, New York
Nationality: United States
Height: 7-0 (213cm) Weight: 273 (124kg)
Website: http://www.gregoden52.com/
Current NBA Status: Unrestricted Free Agent
Agent: Bill Duffy
Draft Entry: 2007 NBA Draft
Early Entry Info: 2007 Early Entrant
Drafted: Round 1, Pick 1, Portland Trail Blazers
Pre-Draft Team: Ohio State (Fr)
High School: Lawrence North High School [Indianapolis, Indiana]
AAU Team: Spiece Indy Heat
Carl Landry F
Current Team: N/A
Born: Sep 19, 1983 (37 years old)
Birthplace/Hometown: Milwaukee, Wisconsin
Nationality: United States
Height: 6-9 (206cm) Weight: 248 (112kg)
Hand: Right
Website: https://carllandry.com/
@CarlLandry
Current NBA Status: Unrestricted Free Agent
Agent: Mark Bartelstein, Reggie Brown
Draft Entry: 2007 NBA Draft
Drafted: Round 2, Pick 1, Seattle SuperSonics
Draft Rights Trade: SEA to HOU, Jun 28, 2007
Pre-Draft Team: Purdue (Sr)
High School: Vincent High School [Milwaukee, Wisconsin]
代码如下:
import csv ;import requests
from bs4 import BeautifulSoup
import csv
import re
url_list = ['https://basketball.realgm.com/player/player/Summary/1',
'https://basketball.realgm.com/player/player/Summary/2']
for url in url_list:
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
player = soup.find_all('div', class_= 'wrapper clearfix container')[0]
playerprofile = re.sub(r'\n\s*\n', r'\n', player.get_text().strip(), flags=re.M)
print(playerprofile)
【问题讨论】:
-
soup = BeautifulSoup(r.text, 'html.parser')将只有最后一个数据在循环之外,您可以考虑使用loop
标签: python beautifulsoup request