2016-10-16 3 views
0

Gegeben eine Zeichenkette von Text wie: San Francisco, California Ich versuche, eine jquery get Anfrage zu verwenden, um die Wikipedia-Seite für diese Stadt zurückzubekommen. Ich habe die Wikipedia web service API gefunden, aber ich habe Probleme, es zur Arbeit zu bringen. Mein Ziel ist es, nur den Überblick zu bekommen.Wie man die Wikipedia API für eine Stadt in den Vereinigten Staaten abfragt

versuchte ich meinen Browser unter der folgenden URL zeigen:

https://en.wikipedia.org/w/api.php?action=query&titles=San%20Francisco,%20California&prop=revisions&rvprop=content&format=jsonfm aber es kam zurück:

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use. 
Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json. 
See the complete documentation, or the API help for more information. 
{ 
    "batchcomplete": "", 
    "query": { 
     "pages": { 
      "19946864": { 
       "pageid": 19946864, 
       "ns": 0, 
       "title": "San Francisco, California", 
       "revisions": [ 
        { 
         "contentformat": "text/x-wiki", 
         "contentmodel": "wikitext", 
         "*": "#REDIRECT [[San Francisco]]\n{{R from city and state}}" 
        } 
       ] 
      } 
     } 
    } 
} 

Wenn ich hinzufügen &redirects dann bekomme ich die erwartete Antwort:

https://en.wikipedia.org/w/api.php?action=query&titles=San%20Francisco,%20California&prop=revisions&rvprop=content&format=jsonfm&redirects

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use. 
Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json. 
See the complete documentation, or the API help for more information. 
{ 
    "batchcomplete": "", 
    "query": { 
     "redirects": [ 
      { 
       "from": "San Francisco, California", 
       "to": "San Francisco" 
      } 
     ], 
     "pages": { 
      "49728": { 
       "pageid": 49728, 
       "ns": 0, 
       "title": "San Francisco", 
       "revisions": [ 
        { 
         "contentformat": "text/x-wiki", 
         "contentmodel": "wikitext", 
         "*": "{{About|the city and county in California}}\n{{pp-move-indef}}\n\n{{Use mdy dates |date = July 2016}}\n\n{{Infobox settlement\n<!--See the table at Template:Infobox settlement for all fields and descriptions of their usage-->\n| name = San Francisco, California\n| settlement_type = [[Consolidated city-county]]\n| official_name = City and County of San Francisco\n| image_skyline = Golden Gate Bridge, SF (cropped).jpg\n| image_caption = San Francisco and the [[Golden Gate Bridge]] from [[Marin Headlands]]\n| image_flag = Flag of San Francisco.svg\n| flag_size = 100px\n| image_seal = Seal of San Francisco.png\n| seal_size = 100px\n| nickname = ''The City''; ''The City by the Bay''; ''Fog City''; ''San Fran'';{{efn|This name, like Frisco, has often been discouraged amongst Bay Area natives.}} ''Frisco'' (''locally disparaged'');<ref name=\"Frisco okay\" /><ref name=\"Don't Call It Frisco\" /><ref name=\"Frisco\" /><ref name=\"Friscophobia\" /> ''The City that Knows How'' (''past'');<ref name=\"The City that Knows How\" /> ''[[Baghdad]] by the Bay'' (''past'');<ref name=\"Baghdad by the Bay\" /> ''The Paris of the West''<ref name=\"The Paris of the West\"/>\n| motto = ''Oro en Paz, Fierro en Guerra'' (Spanish)<br />(English: \"Gold in Peace, Iron in War\")\n| image_map = California county map (San Francisco County enlarged).svg\n| ma 

Wenn ich eine andere Stadt versuchen, Statusabfrage funktioniert es:

https://en.wikipedia.org/w/api.php?action=query&titles=Martinez,%20California&prop=revisions&rvprop=content&format=jsonfm&redirects

Diese Seite entspricht Marintez, California

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use. 
Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json. 
See the complete documentation, or the API help for more information. 
{ 
    "batchcomplete": "", 
    "query": { 
     "pages": { 
      "107407": { 
       "pageid": 107407, 
       "ns": 0, 
       "title": "Martinez, California", 
       "revisions": [ 
        { 
         "contentformat": "text/x-wiki", 
         "contentmodel": "wikitext", 
         "*": "{{Use mdy dates|date=March 2016}}\n{{Use American English|date=March 2016}}\n\n{{Infobox settlement\n<!-- See the table at Template:Infobox settlement for all fields and descriptions of their usage. -->\n| official_name    = City of Martinez<ref>{{cite web |url=http://www.cityofmartinez.org/ |title=Homepage |publisher=City of Martinez |accessdate=November 20, 2014}}</ref>\n| settlement_type   = [[City (California)|City]]\n<!-- Images and maps ---- -->\n| image_skyline    = Aerial view of Martinez, California.jpg\n| image_caption    = Aerial view of Martinez\n| image_seal     =\n| image_map     = Contra Costa County California Incorporated and Unincorporated areas Martinez Highlighted.svg\n| mapsize     = 250px\n| map_caption    = Location in [[Contra Costa County, California|Contra Costa County]] and the state of [[California]]\n<!-- Location ----------- -->\n| pushpin_map    = USA\n| pushpin_map_caption = Location in the United States\n| latd = 38 |latm = 01 |lats = 10 |latNS = N\n| longd = 122 |longm = 08 |longs = 03 |longEW = W\n| coordinates_display  = inline,title\n| coordinates_region   = US-CA\n| subdivision_type   = [[List of sovereign states|Country]]\n| subdivision_name   = {{USA}}\n| subdivision_type1   = [[U.S. state|State]]\n| subdivision_name1   = {{flag|California}}\n| subdivision_type2   = [[List of counties in California|County]]\n| subdivision_name2   = [[Contra Costa County, California|Contra Costa]]\n<!-- History ------------ -->\n| established_title   = [[Municipal corporation|Incorporated]]\n| established_date   = April 1, 1876<ref>{{cite web\n | url = http://www.calafco.org/docs/Cities_by_incorp_date.doc\n | title = California Cities by Incorporation Date\n | format = Word\n | publisher = California Association of [[Local Agency Formation Commission]]s\n | accessdate = March 27, 2013}}</ref>\n<!-- Government --------- -->\n| government_type   =\n| leader_title    = [[Mayor]]\n| leader_name    = Rob Schroder<ref>{{cite web\n |url=http://www.cityofmartinez.o 

Aber jetzt das Problem ist, wie werde ich in die Übersicht zu bekommen und kratzen sie aus. Es scheint, dass es möglich sein sollte, nur nach der Übersicht oder Zusammenfassung zu fragen.

+0

Sie die Antwort überprüfen Haben? – Dekel

Antwort

0

Der Schlüssel nur die Übersicht Abschnitt immer war unter redirects und extracts wie gezeigt zu verwenden:

curl "https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&explaintext&format=json&redirects&titles=San_Francisco,_CA" 
0

Um die Antwort als json statt html erhalten Sie

format=json 

Statt

format=jsonfm 

Die jsonfm gibt ein "ziemlich druckte" HTML-Ergebnis gut für das Debuggen verwendet werden sollen.

ist die Anforderung, die Sie verwenden sollten:

https://en.wikipedia.org/w/api.php?action=query&titles=San%20Francisco,%20California&prop=revisions&rvprop=content&format=json 

Sie auch format=xml und format=php für xml Ausgang oder php serialized Wert verwenden können.

+0

es braucht '& redirects' angeheftet um die sf Seite zu bekommen, aber es ist etwas falsch mit' & titles = San% 20Francisco,% 20California' Ansatz, da es immer erfolgreich zur Wiki Seite für diese Stadt gelangt, auch mit den Weiterleitungen . Ich werde die Frage jetzt bearbeiten – mbigras

Verwandte Themen