Class JSoupParser

All Implemented Interfaces:
Serializable, Parser

public class JSoupParser extends AbstractEncodingDetectorParser
HTML parser. Uses JSoup to turn the input document to HTML SAX events, and post-processes the events to produce XHTML and metadata expected by Tika clients.
See Also:
  • Field Details

    • DEFAULT_CHARSET

      public static final Charset DEFAULT_CHARSET
  • Constructor Details

    • JSoupParser

      public JSoupParser()
    • JSoupParser

      public JSoupParser(EncodingDetector encodingDetector)
  • Method Details

    • getSupportedTypes

      public Set<MediaType> getSupportedTypes(ParseContext context)
      Description copied from interface: Parser
      Returns the set of media types supported by this parser when used with the given parse context.
      Parameters:
      context - parse context
      Returns:
      immutable set of media types
    • isExtractScripts

      public boolean isExtractScripts()
    • setExtractScripts

      @Field public void setExtractScripts(boolean extractScripts)
      Whether or not to extract contents in script entities. Default is false
      Parameters:
      extractScripts -
    • parse

      public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException
      Description copied from interface: Parser
      Parses a document stream into a sequence of XHTML SAX events. Fills in related document metadata in the given metadata object.

      The given document stream is consumed but not closed by this method. The responsibility to close the stream remains on the caller.

      Information about the parsing context can be passed in the context parameter. See the parser implementations for the kinds of context information they expect.

      Parameters:
      stream - the document stream (input)
      handler - handler for the XHTML SAX events (output)
      metadata - document metadata (input and output)
      context - parse context
      Throws:
      IOException - if the document stream could not be read
      SAXException - if the SAX events could not be processed
      TikaException - if the document could not be parsed
    • parseString

      public void parseString(String html, ContentHandler handler, Metadata metadata, ParseContext context) throws SAXException
      Throws:
      SAXException
    • getEncodingDetector

      protected EncodingDetector getEncodingDetector(ParseContext parseContext)
      Look for an EncodingDetetor in the ParseContext. If it hasn't been passed in, use the original EncodingDetector from initialization.
      Overrides:
      getEncodingDetector in class AbstractEncodingDetectorParser
      Parameters:
      parseContext -
      Returns: