Hpricot позволяет анализировать и редактировать html с помощью css селекторов или xpath селекторов. Вобщем очень удобно и просто.
Инструкция для установки.
Но у hpricot есть небольшие проблемки, например иногда при создании документа:
require 'hpricot'
doc = Hpricot "some html"
возникает ошибка
ArgumentError. negative string size (or size too big).
Оказывается бывает такое из-за каких-то последовательностей символов в html. Эти ошбки постепенно фиксятся разработчиками, но буквально сегодня у меня она возникала, парсер падал из-за того, что в html была последовательность символов "\r\n". Так как мне эти символы совсем не нужны я их просто вырезаю.
html.gsub!("\r\n", "")
doc = Hpricot html
4 коммент.:
Ну не такой уж и быстрый этот hpricot.
Вот http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/226482
Вместо
html.gsub!("\r\n", "")
можно
html.chop!
или html.chomp!
Спасибо Антон, раньше не использовал этот метод, буду знать.
Отправить комментарий