Парсер HTML'я на Python'e
Добрый день.
К сожалению, я не специалист по Python'у, однако есть необходимость написать на нем парсер html-кода. Т.е. существует сайт - нужно граббить с него информацию.
Сайт сверстан на "грязном" html'е - с ошибками. Код не валидный.
Очень не хочется использовать регулярные выражения, т.к. там приходится выделять нужную информацию в несколько шагов - regexp'ом получить нужные блоки, а из них выделить нужное с помощью других regexp'ов.
Думал использовать SAX-интерфейс - он идеально подходит. Можно обработать текст за один проход. Однако, он выдает ошибку из-за того, что код невалидный.
Слышал, еще есть HTMLParser, который парсит некорректный HTML, но про него пишут много нелестного - вроде как постоянно падает.
Какой еще способ парсинга HTML можно использовать? Посоветуйте что-нибудь?
Или как заставить SAX-парсер не проверять корректность кода, DTD и прочее?
UPD: Посоветовали BeautifulSoup - смотрю вот.. разбираюсь.. Благодарю всех за быстрое реагирование и ценные советы! :) Спасибо!
К сожалению, я не специалист по Python'у, однако есть необходимость написать на нем парсер html-кода. Т.е. существует сайт - нужно граббить с него информацию.
Сайт сверстан на "грязном" html'е - с ошибками. Код не валидный.
Очень не хочется использовать регулярные выражения, т.к. там приходится выделять нужную информацию в несколько шагов - regexp'ом получить нужные блоки, а из них выделить нужное с помощью других regexp'ов.
Думал использовать SAX-интерфейс - он идеально подходит. Можно обработать текст за один проход. Однако, он выдает ошибку из-за того, что код невалидный.
Слышал, еще есть HTMLParser, который парсит некорректный HTML, но про него пишут много нелестного - вроде как постоянно падает.
Какой еще способ парсинга HTML можно использовать? Посоветуйте что-нибудь?
Или как заставить SAX-парсер не проверять корректность кода, DTD и прочее?
UPD: Посоветовали BeautifulSoup - смотрю вот.. разбираюсь.. Благодарю всех за быстрое реагирование и ценные советы! :) Спасибо!
