Как получить простой, но форматированный HTML с помощью Mechanize / Nokogiri? - PullRequest
2 голосов
/ 03 июня 2011
require 'rubygems'
require 'mechanize'

  rational = Mechanize.new { |agent|
        agent.user_agent_alias = 'Windows Mozilla'
  }
  results = rational.get(ARGV[0])
  puts results.content 

дает мне HTML , но я хочу простой текст . Лучше всего будет, если его можно отформатировать.

1 Ответ

5 голосов
/ 03 июня 2011

Этот код даст вам простой неформатированный текст всего документа:

require 'mechanize'
require 'nokogiri'

rational = Mechanize.new { |agent|
    agent.user_agent_alias = 'Windows Mozilla'
}

document = Nokogiri::HTML(rational.get(ARGV[0]).content)

#This will give you very dirty result
#results = document.inner_text

#My suggestion is to extract text from some specific element
results = document.css("#content .my-element-with-some-contents").inner_text
...