Он помечен tbody
, и вы можете использовать следующий селектор css с bs4. Затем оберните тегами table
и перейдите к пандам, чтобы хорошо печатать. Я использую BS4 4.7.1
Вы также можете использовать table = soup.select('tbody:contains(year)')
.
Python:
from bs4 import BeautifulSoup as bs
import requests
import pandas as pd
r = requests.get('http://stats.espncricinfo.com/ci/engine/player/35320.html?class=2;template=results;type=batting')
soup = bs(r.content, 'lxml')
table = soup.select('tbody:nth-child(7)')
headers = [item.text for item in soup.select('.headlinks th')]
df = pd.read_html('<table>' + str(table) + '</table>')[0]
df.columns = headers
df = df.dropna(how = 'all', axis=0).drop(['Span',''], axis=1)
print(df)
df.head ()
![enter image description here](https://i.stack.imgur.com/QNmPl.png)