как перевести этот код hpricot в nokogiri? - PullRequest
1 голос
/ 16 апреля 2010
 Hpricot(html).inner_text.gsub("\r"," ").gsub("\n"," ").split(" ").join(" ")

hpricot = Hpricot(html)
hpricot.search("script").remove
hpricot.search("link").remove
hpricot.search("meta").remove
hpricot.search("style").remove

нашел его на http://www.savedmyday.com/2008/04/25/how-to-extract-text-from-html-using-rubyhpricot/

1 Ответ

0 голосов
/ 16 апреля 2010

Nokogiri и Hpricot довольно взаимозаменяемы. То есть Нокогири (html) является эквивалентом Hpricot (html). Не совсем уверен, что понимаю, чего пытается достичь связанная статья, но:

Извлечение текста из тела HTML, которое включает игнорирование больших пробелов между тегами и словами.

Это будет более простой подход в Hpricot и избавит от необходимости в hpricot.search("script").remove битах. То есть Просто получите тело в первую очередь:

Hpricot(html).search('body').inner_text.gsub("\r"," ").gsub("\n"," ").split(" ").join(" ")

А в Нокогири:

Nokogiri(html).search('body').inner_text.gsub("\r"," ").gsub("\n"," ").split(" ").join(" ")
...