What is parsing?
Parsing is something I come across a lot in development, but as a junior it is one of those things I assume I will get the hang of at some point, when it is needed. In my current project I've been told to find and use an HTML p开发者_运维百科arser for a certain function, I have found a couple on the web.
But what does an HTML parser actually do? And what does it mean to parse an object?
Parsing usually applies to text - the act of reading text and converting it into a more useful in-memory format, "understanding" what it means to some extent. So for example, an XML parser will take the sequence of characters (or bytes) and convert them into elements, attributes etc.
In some cases (particularly compilers) there's a separation between lexical analysis and syntactic analysis, so the real "understanding" part of the parser works on a sequence of tokens (identifiers, operators etc) rather than on the raw characters.
Parsing is taking a set of data and extracting the meaningful information from it. With HTML parsing, you're looking to read some html and return a structured set of tags and text
You can start here: http://en.wikipedia.org/wiki/Parsing. Short excerpt:
Parsing or syntactic analysis is the process of analysing a string of symbols, either in natural language or in computer languages, conforming to the rules of a formal grammar. The term parsing comes from Latin pars (orationis), meaning part (of speech).
Parse (computers), by Dictionary.com:
To analyze (a string of characters) in order to associate groups of characters with the syntactic units of the underlying grammar.
A parser is a compiler / interpreter component that breaks data into smaller elements for easy translation into another language. A parser takes input in the form of a sequence of tokens or program instructions and usually builds a data structure in the form of a parse tree or an abstract syntax tree.
In computer science and linguistics, parsing, or, more formally, syntactic analysis, is the process of analyzing a text, made of a sequence of tokens (for example, words), to determine its grammatical structure with respect to a given (more or less) formal grammar.
:0)
Wikipedia
It is the process of identifying the tokens [tags, attributes] inside an HTML.
Don't attempt to write anything but a trivial parser yourself. There are good tools for this use ANTLR and bison are two I can think of.
If you use the tools you'll be able to ask for help when you hit a problem.
cheers, Martin.
精彩评论