У меня проблема с модулем красивого супа и модулем re. Я пытаюсь написать сценарий python, который автоматически преобразует код HTML в код латекса. Чтобы нарисовать таблицы, мне нужно сначала прочитать различные атрибуты таблицы в коде HTML, например rowspan
и colspan
. Вот моя таблица в коде HTML:
<html>
<body>
<table border = "1">
<tr>
<td>Name</td>
<td colspan="2">Alice</td>
</tr>
<tr>
<td>Type</td>
<td colspan="2">Client</td>
</tr>
<tr>
<td rowspan="3">Parameters</td>
<td>Param1</td>
<td>Value</td>
</tr>
<tr>
<td>Param2</td>
<td>Value</td>
</tr>
<tr>
<td>Param3</td>
<td>Value</td>
</tr>
</html>
Сначала мне нужно найти, где появляются colspan
и rowspan
. Для этого я написал следующий скрипт:
import re
from bs4 import BeautifulSoup
with open('table.html')as file:
soup = BeautifulSoup(file, 'lxml')
for table in soup.find_all("tr"):
for item in table.find_all('td'):
row = re.findall(r'rowspan="[0-255]"', str(item))
col = re.findall(r'colspan="[0-255]"', str(item))
print(row)
print(col)
Результат:
[]
[]
[]
['colspan="2"']
[]
[]
[]
['colspan="2"']
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[Finished in 1.622s]
Меня устраивает colspan
. Но не все в порядке с rowspan
. В 13-й строке моего кода HTML у меня есть rowspan
. Почему его нет в моем выводе? Пожалуйста, помогите.