Непоследовательная очистка данных таблицы - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь извлечь данные таблицы из таблицы с этой веб-страницы.http://www.espn.com/college-sports/basketball/recruiting/playerrankings/_/view/espnu100/sort/rank/class/2019. Однако, когда я пытаюсь извлечь данные таблицы из каждой строки таблицы, оказывается, что я не могу получить данные из каждой строки.Один из обнаруженных мной паттернов заключается в том, что я не могу видеть данные таблицы строк, в которых находится изображение.Есть ли какой-то другой способ, которым я все еще могу получить нужные данные (должность, родной город, звание и т. Д.), Особенно когда речь идет о тех, где присутствует картинка?

Текущий код ниже:

# We are unable to get the table data row for individuals that have a picture

rows = soup.find_all('tr')

# This is the data for each table row

for row in rows:
    print(row.text)

Мне удалось получить имена игроков с помощью класса "div", но я не думаю, что смогу использовать его дляданные в других столбцах.

# The name of the player is going to be our first column. So let's make a list of the names for tr in soup.find_all('tr'):

name = soup.find_all('div', {'class':'name'})

# Empty list to put our player name in.
players = []
for person in name:
# This line is used to remove the below text that was also included wth the names
    person = person.text.replace("Video | Scouts Report","")
    players.append(person)

# We see that the length of this list is 100. This means that we extraced the names correctly
len(players)

1 Ответ

0 голосов
/ 02 марта 2019

Я думаю, что гораздо проще было бы прочитать его в пандах DataFrame напрямую, используя pd.read_html(), что немедленно вернет (длина 1) список всех таблиц из URL:

url = r'http://www.espn.com/college-sports/basketball/recruiting/playerrankings/_/view/espnu100/sort/rank/class/2019'
dfs = pd.read_html(url, header=0)
dfs[0].head()
#   RK                                 PLAYER POS  \
#0   1     James WisemanVideo | Scouts Report   C   
#1   2      Cole AnthonyVideo | Scouts Report  PG   
#2   3  Vernon Carey Jr.Video | Scouts Report   C   
#3   4    Isaiah StewartVideo | Scouts Report   C   
#4   5   Anthony EdwardsVideo | Scouts Report  SG   
#
#                                     HOMETOWN      HT   WT  STARS  GRADE  \
#0                 Memphis, TNEast High School   7'0''  230    NaN     97   
#1               Briarwood, NYOak Hill Academy   6'3''  185    NaN     97   
#2  Southwest Ranches, FLNSU University School  6'10''  275    NaN     97   
#3              Rochester, NYLa Lumiere School   6'9''  245    NaN     97   
#4               Atlanta, GAHoly Spirit School   6'4''  205    NaN     97   
#
#                          SCHOOL  
#0                  MemphisSigned  
#1                           List  
#2        DukeCommitted12/06/2018  
#3  WashingtonCommitted01/20/2019  
#4     GeorgiaCommitted02/11/2019 

Конечно, вам придется провести некоторую очистку, но я думаю, что это будет намного эффективнее, чем чтение всего в списки.

...