@Madeon

Почему BeautifulSoup неправильно парсит страницу?

Здравствуйте, я собирался парсить определенный блок сайта:

<tr class="today ">
	<td class="hasDate" rowspan='2'><a name="today"></a><span style='white-space:nowrap;'>26.09.20, сб</span><br></span><br></td>
	<td title="Время">11.50-13.20</td>
	<td title="Подгруппа"></td>
	<td title="Дисциплина">Английский язык</td>
	<td class="schedule-type" title="Вид занятия"><span>Г з</span></td>
	<td class="schedule-bldg" title="Здание"><span>Н</span></td>
	<td title="№ ауд.">307н</td>
	<td title="Преподаватель"><a href="text">Санникова О.А.</a></td>
</tr>


Но BeautifulSoup видит этот блок как:
<tr class="today">
<td class="hasDate" rowspan="2"><a name="today"></a><span style="white-space:nowrap;">26.09.20, сб</span><br/></td></tr><br/>
<td title="Время">11.50-13.20</td>
<td title="Подгруппа"></td>
<td title="Дисциплина">Английский язык</td>
<td class="schedule-type" title="Вид занятия"><span>Г з</span></td>
<td class="schedule-bldg" title="Здание"><span>Н</span></td>
<td title="№ ауд.">307н</td>
<td title="Преподаватель"><a href="text">Санникова О.А.</a></td>


T.e. </tr> переместилась наверх в класс "hasDate". С чем это может быть связано и как это решить?
P.S. requests читает сайт правильно
Версия python - 3.7.3 Версия bs4 - 4.9.1 Версия requests - 2.24.0
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae
Тлен
Проблема, очевидно, в лишнем </span> и, соответственно, невалидном html.
Почему ему так плохеет от банальной, вроде бы, ошибки - другой вопрос. Скорее всего ты используешь слишком строгий парсер. Смени на более толерантный(но учти, что он будет тем медленнее чем толерантнее).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы