# File lib/scraper/base.rb, line 856
856:     def document
857:       if @document.is_a?(URI)
858:         # Attempt to read page. May raise HTTPError.
859:         options = {}
860:         READER_OPTIONS.each { |key| options[key] = option(key) }
861:         request(@document, options)
862:       end
863:       if @document.is_a?(String)
864:         # Parse the page. May raise HTMLParseError.
865:         parsed = Reader.parse_page(@document, @page_info.encoding,
866:                                    option(:parser_options), option(:parser))
867:         @document = parsed.document
868:         @page_info.encoding = parsed.encoding
869:       end
870:       return @document if @document.is_a?(HTML::Node)
871:       raise RuntimeError, "No document to process"
872:     end