Я пытаюсь получить информацию с http://www.nfl.com/scores (в частности , узнать, когда игра закончилась, чтобы мой компьютер мог остановить ее запись). Я могу достаточно легко загрузить HTML, и он заявляет о соответствии стандартам:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Но
Попытка разобрать его с помощью Expat приводит к ошибке
not well-formed (invalid token)
.служба онлайн-проверки W3C сообщает о 399 ошибках и 121 предупреждении.
Я попытался запустить HTML tidy (только что названный
tidy
) в своей системе Linux с параметром-xml
, но tidy сообщает о 56 предупреждениях и 117 ошибках и не может восстановить хороший файл XML. Ошибки выглядят так:line 409 column 122 - Warning: unescaped & or unknown entity "&role" ... line 409 column 172 - Warning: unescaped & or unknown entity "&tabSeq" ... line 1208 column 65 - Error: unexpected </td> in <br> line 1209 column 57 - Error: unexpected </tr> in <br> line 1210 column 49 - Error: unexpected </table> in <br>
Но когда я проверяю ввод, «неизвестные объекты» кажутся частью правильно цитируемого URL-адреса, поэтому я не знаю, отсутствует ли где-то двойная кавычка или что.
Я знаю, что существует что-то, способное разобрать этот материал, потому что и Firefox, и w3m отображают что-то разумное. Какой инструмент исправит несоответствующий HTML-код, чтобы я мог проанализировать его с помощью Expat?
&
должно быть&
, это обычная проблема в атрибутах href. - person Matthew Scharley   schedule 29.11.2009/* box of awesome */
- person Jed Smith   schedule 29.11.2009