def content
      return @content if @content
      matches = class_const(:CONTENT_RE).match(page)
      if matches
        @content = class_const(:KILL_CHARS_RE).gsub(matches[1].to_s, '')
        content_processor
        @content.collect! { |p| decode_entities(p.strip) }
        @content.delete_if { |p| p == '' or p.nil? }
      end
      @content = [] if @content.nil?
      @content
    end
def content
      return @content if @content
      matches = class_const(:CONTENT_RE).match(page)
      if matches
        @content = class_const(:KILL_CHARS_RE).gsub(matches[1].to_s, '')
        content_processor
        @content.collect! { |p| decode_entities(p.strip) }
        @content.delete_if { |p| p == '' or p.nil? }
      end
      @content = [] if @content.nil?
      @content
    end
The content method returns the important body text of the web page.

 It does basic extraction and pre-processing of the page content
 and then calls the content_processor method for any other more
 custom processing work that needs doing.  Lastly, it does some
 basic post processing and returns the content as a string.

 When writing a new parser, the CONTENT_RE constant should be
 defined in the subclass.  The KILL_CHARS_RE constant can be
 overridden if necessary.