It's just a bunch of regex, nothing too sophisticated. Generally the people making listings are trying to convey all the data, so in a sense it's semi-structured. The most limiting factor is getting a CPU model; I'd like to eventually build up a taxonomy of major device brands/models to map to their specs (I do have this currently for Apple, which many people post year or A-model numbers for).