<p>In hydrus, a parser is an object that takes a single block of HTML or JSON data (as returned by a URL) and returns many kinds of hydrus-level metadata.</p>
<p>Parsers are flexible and potentially quite complicated. You might like to open <i>network->manage parsers</i> and explore the UI as you read these pages. Check out how the default parsers already in the client work, and if you want to write a new one, see if there is something already in there that is similar--it is usually easier to duplicate an existing parser and then alter it than to create a new one from scratch every time.</p>
<p>There are three main components in the parsing system (click to open each component's help page):</p>
<li><ahref="downloader_parsers_formulae.html"><b>Formulae:</b></a> Take parsable data, search it in some manner, and return 0 to n strings.</li>
<li><ahref="downloader_parsers_content_parsers.html"><b>Content Parsers:</b></a> Take parsable data, apply a formula to it to get some strings, and apply a single metadata 'type' and perhaps some additional modifiers.</li>
<li><ahref="downloader_parsers_page_parsers.html"><b>Page Parsers:</b></a> Take parsable data, apply content parsers to it, and return all the metadata in an appropriate structure.</li>