You don't actually need to parse Wikipedia. It's already parsed and structured as Linked Open Data by DBPedia.
For instance, you can get the area of London with this HTTP query:
http://dbpedia.org/sparql?query=PREFIX+%3A+%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2F%3E+%0D%0APREFIX+dbpedia2%3A+%3Chttp%3A%2F%2Fdbpedia.org%2Fproperty%2F%3E%0D%0ASELECT+%3FareaTotalKm2%0D%0AWHERE+{%0D%0A+++++%3ALondon+dbpedia2%3AareaTotalKm+%3FareaTotalKm2%0D%0A}&format=json
Corresponding to (SPARQL syntax):
PREFIX : <http://dbpedia.org/resource/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
SELECT ?areaTotalKm2
WHERE {
:London dbpedia2:areaTotalKm ?areaTotalKm2
}
Giving you this JSON result:
{ "head": { "link": [], "vars": ["areaTotalKm2"] },
"results": { "distinct": false, "ordered": true, "bindings": [
{ "areaTotalKm2": { "type": "typed-literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1572" }} ] } }
And that's what you need to parse.
However, if you try with Paris, you won't get the area from the property areaTotalKm
(weird!). You actually need to query several (optional) area properties to increase the effectiveness of your query.
This is a more generic version of the aforementioned query:
PREFIX : <http://dbpedia.org/resource/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX dbp2: <http://dbpedia.org/ontology/>
PREFIX pp: <http://dbpedia.org/ontology/PopulatedPlace/>
SELECT ?areaTotalKm2 ?areaTotalm2 ?area
WHERE {
OPTIONAL { :Paris pp:area ?area }
OPTIONAL { :Paris dbp2:areaTotal ?areaTotalm2 }
OPTIONAL { :Paris dbpedia2:areaTotalKm ?areaTotalKm2 }
}
Try your own queries at http://dbpedia.org/snorql/