Каков наилучший способ разбора веб-страницы в Ruby?

Используется std::vector<>, потому что std::vector<> обычно выделяет больше памяти, чем objects в vector<>.

14
задан Jeff Atwood 18 April 2009 в 11:08
поделиться

4 ответа

К сожалению, stackoverflow утверждает, что был XML, но на самом деле не. Hpricot однако может проанализировать этот суп тега в дерево элементов для Вас.

require 'hpricot'
require 'open-uri'

doc = Hpricot(open("http://stackoverflow.com/users/19990/armin-ronacher"))
reputation = (doc / "td.summaryinfo div.summarycount").text.gsub(/[^\d]+/, "").to_i

И т.д.

18
ответ дан Jeremy Mack 18 April 2009 в 11:08
поделиться

Я всегда действительно как то, что Ilya Grigorik пишет, и он , описал хорошее сообщение об использовании hpricot.

я также читаю это сообщение некоторое время назад, и похоже, что это было бы полезно для Вас.

не сделали ни одного самостоятельно, таким образом, YMMV, но они кажутся довольно полезными.

0
ответ дан Cameron Booth 18 April 2009 в 11:08
поделиться
  • 1
    То, что Вы хотите сделать, точно так же, как " Контакт it" и на scrollorama и на superscrollorama, isn' t это? – josemando 6 December 2012 в 04:10

Что-то я столкнулся с попыткой сделать это прежде, - то, что немного веб-страниц являются правильно построенными XML-документами. Hpricot может быть в состоянии иметь дело с тем (я не использовал его), но когда я делал подобный проект в прошлом (использующий Python, и его библиотека создала в парсинге функций), он помог иметь препроцессор для чистки HTML. Я использовал привязку Python для HTML, Опрятный как это, и он сделал жизнь намного легче. Привязка Ruby здесь , но я не судил их.

Удачи!

0
ответ дан Atiaxi 18 April 2009 в 11:08
поделиться
  • 1
    Едва ли. То, что происходит на сайте в качестве примера, который я отправил ( made-my-day.com ) - то, что, как только Вы начинаете прокручивать с колесом мыши (или два пальца на Вашем коврике для мыши и т.д.) Вы запускаете " paging" между статьями. Каждая статья всегда заполняет экран точно. Таким образом, Вы никогда не являетесь промежуточными между двумя статьями, вместо этого у Вас всегда есть они в полном представлении... – Leopold Kristjansson 6 December 2012 в 10:32

попробуйте hpricot, его хорошо... потрясающий

, я несколько раз использовал его для анализа экранных данных.

5
ответ дан Jeremy Mack 18 April 2009 в 11:08
поделиться
  • 1
    Lot' s хороших вещей прокрутки на там наверняка, но я didn' t действительно находят этого хотя? Я пропускаю что-то очевидное? – Leopold Kristjansson 6 December 2012 в 02:32
Другие вопросы по тегам:

Похожие вопросы: