Может кто-нибудь сказать мне, как я могу получить таблицу в HTML-странице, которая имеет наибольшее количество строк?Я использую BeautifulSoup.
Хотя есть одна маленькая проблема.Иногда кажется, что одна таблица вложена в другую.
<table>
<tr>
<td>
<table>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<td>
</tr>
</table>
При выполнении кода table.findAll('tr')
будут подсчитываться все дочерние строки таблицы и строки вложенной таблицы под ним.В родительской таблице всего одна строка, а во вложенной - три, и я бы посчитал, что это самая большая таблица.Ниже приведен код, который я использую для поиска самой большой таблицы в настоящее время, но он не принимает во внимание вышеупомянутый сценарий.
soup = BeautifulSoup(html)
#Get the largest table
largest_table = None
max_rows = 0
for table in soup.findAll('table'):
number_of_rows = len(table.findAll('tr'))
if number_of_rows > max_rows:
largest_table = table
max_rows = number_of_rows
Я действительно потерян с этим.Любая помощь, ребята?
Заранее спасибо