Uložte zpáteční adresu rozhraní API Gaode Maps do MongoDB

Save Api Interface Return Address Gaode Maps Mongodb



Mapa Gaode:
http://ditu.amap.com/service/regeo?longitude=116.3225&latitude=39.94403
http://ditu.amap.com/service/weather?adcode=110000

Následující příklad převádí řetězec json na objekt Pythonu (tj. Slovník).



import requests url = 'http://ditu.amap.com/service/regeo?longitude=116.3225&latitude=39.94403' response = requests.get(url) print(response.text) import json json_dict = json.loads(response.text) print(type(json_dict)) name = json_dict.get('data').get('cross_list')[0].get('name') print(name)

Nainstalujte mongodb, použijte příkaz



brew install mongodb

obraz



obraz

Rekurzivně vytvářejte podadresáře:

Pokud neexistuje žádný adresář / User / (uživatelské jméno) / mongodb / db, musíte jej nejprve vytvořit. Použitý příkaz je:



mkdir -p /User/liwei/mongodb/db

Možnost -p znamená, že lze vytvořit víceúrovňové adresáře.

obraz

Spusťte službu MongoDB:

mongod --dbpath /User/liwei/mongodb/db --port 10001

Spustit mongodb:

obraz

Po provedení tohoto příkazu věnujte zvláštní pozornost výstupu z konzoly. Pokud konzola zobrazí výzvu, že oprávnění nejsou dostatečná, měli byste před příkaz mongodb –dbpath / User / liwei / mongodb / db –port 10001 přidat sudo.

import requests import json # pymongo is mainly responsible for interacting with the MongoDB server import pymongo ip = '127.0.0.1' port = 10001 # Note: The variable is of type int # After the connection is successful, the name of the operated database (similar to the 'database' in the relational database) and collection (similar to the 'table' in the relational database) db_name = 'gd_map' collection_name = 'pos_info' # The element in collenction is document, which is the row in the relational database url_1 = 'http://ditu.amap.com/service/regeo?longitude=116.3225&latitude=39.94403' url_2 = 'http://ditu.amap.com/service/weather?adcode=110000' urls = [url_1, url_2] # Connect to Mongodb server mongo_conn = pymongo.MongoClient(ip, port) # Connect to the corresponding database according to the database name db = mongo_conn[db_name] # Find the collection in the connected database according to the corresponding collection name collection = db[collection_name] for url in urls: try: print(url) resp = requests.get(url) json_dict = json.loads(resp.text) # Insert the converted dictionary structure (Python object) as a document into the corresponding collection collection.save(json_dict) except Exception as e: print(e)

Po zadání kódu se zobrazí informace v konzole:

obraz

Dále můžeme použít mongodb vlastní klientský program mongo ke kontrole, zda jsou data úspěšně vložena.

mongo 127.0.0.1:10001

obraz

Stažení klientského softwaru:
https://robomongo.org/download

Metoda uzavření Mongodb:

obraz