Skip to content

Instantly share code, notes, and snippets.

@ischurov
Created March 25, 2020 20:29
Show Gist options
  • Save ischurov/a4aabce87d70ff5e3de1b646d0791a37 to your computer and use it in GitHub Desktop.
Save ischurov/a4aabce87d70ff5e3de1b646d0791a37 to your computer and use it in GitHub Desktop.
Lecture 18.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Application Program Interface\n# API",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import requests",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "entrypoint = \"https://nominatim.openstreetmap.org/search\"\nr = requests.get(entrypoint, {'q': \n 'Москва, Покровский бульвар, 11',\n 'format': 'json'})\n",
"execution_count": 49,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "r",
"execution_count": 50,
"outputs": [
{
"data": {
"text/plain": "<Response [200]>"
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "r.text",
"execution_count": 51,
"outputs": [
{
"data": {
"text/plain": "'[{\"place_id\":17323530,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"node\",\"osm_id\":1691462320,\"boundingbox\":[\"55.7530991\",\"55.7531991\",\"37.6479883\",\"37.6480883\"],\"lat\":\"55.7531491\",\"lon\":\"37.6480383\",\"display_name\":\"Столовая НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"amenity\",\"type\":\"fast_food\",\"importance\":0.411,\"icon\":\"https://nominatim.openstreetmap.org/images/mapicons/food_fastfood.p.20.png\"},{\"place_id\":17118757,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"node\",\"osm_id\":1691462579,\"boundingbox\":[\"55.753081\",\"55.753181\",\"37.6487608\",\"37.6488608\"],\"lat\":\"55.753131\",\"lon\":\"37.6488108\",\"display_name\":\"Буфет НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"amenity\",\"type\":\"cafe\",\"importance\":0.411,\"icon\":\"https://nominatim.openstreetmap.org/images/mapicons/food_cafe.p.20.png\"},{\"place_id\":236042696,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"relation\",\"osm_id\":6663748,\"boundingbox\":[\"55.7538213\",\"55.7539857\",\"37.6507539\",\"37.6517626\"],\"lat\":\"55.7539023\",\"lon\":\"37.65127796499415\",\"display_name\":\"Корпус «К», 11 с4 К, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"building\",\"type\":\"university\",\"importance\":0.411},{\"place_id\":236354894,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"relation\",\"osm_id\":6663747,\"boundingbox\":[\"55.7538268\",\"55.754191\",\"37.6494141\",\"37.6508268\"],\"lat\":\"55.75400895\",\"lon\":\"37.65012043101585\",\"display_name\":\"Корпус «Ж», 11 с4 Ж, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"building\",\"type\":\"university\",\"importance\":0.411},{\"place_id\":236107649,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"relation\",\"osm_id\":6663746,\"boundingbox\":[\"55.7534087\",\"55.7537498\",\"37.6480676\",\"37.6486057\"],\"lat\":\"55.753579900000005\",\"lon\":\"37.64830647620072\",\"display_name\":\"Корпус «Е», 11 с2Е, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"building\",\"type\":\"university\",\"importance\":0.411},{\"place_id\":236377374,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"relation\",\"osm_id\":6663745,\"boundingbox\":[\"55.754115\",\"55.7548274\",\"37.6483906\",\"37.6494874\"],\"lat\":\"55.7545114\",\"lon\":\"37.64864446247735\",\"display_name\":\"Корпус «Д», 11 с1-Д, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"building\",\"type\":\"university\",\"importance\":0.411},{\"place_id\":236012914,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"relation\",\"osm_id\":6663744,\"boundingbox\":[\"55.7531077\",\"55.7534458\",\"37.6479431\",\"37.6489467\"],\"lat\":\"55.75328585\",\"lon\":\"37.64835116853838\",\"display_name\":\"Корпус «Г», 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"building\",\"type\":\"university\",\"importance\":0.411},{\"place_id\":236018085,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"relation\",\"osm_id\":6663743,\"boundingbox\":[\"55.7537499\",\"55.754206\",\"37.6481244\",\"37.6487391\"],\"lat\":\"55.75400295\",\"lon\":\"37.64843260415564\",\"display_name\":\"Корпус «В», 11 с1-В, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"building\",\"type\":\"university\",\"importance\":0.411},{\"place_id\":236169802,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"relation\",\"osm_id\":6663742,\"boundingbox\":[\"55.7536927\",\"55.7541602\",\"37.6486083\",\"37.6494462\"],\"lat\":\"55.7539337\",\"lon\":\"37.64898733687838\",\"display_name\":\"Корпус «Б», 11 с1-Б, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"building\",\"type\":\"university\",\"importance\":0.411},{\"place_id\":78876483,\"licence\":\"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright\",\"osm_type\":\"node\",\"osm_id\":6990965218,\"boundingbox\":[\"55.7535034\",\"55.7536034\",\"37.6480796\",\"37.6481796\"],\"lat\":\"55.7535534\",\"lon\":\"37.6481296\",\"display_name\":\"Д. М. Карбышеву, 11 с2Е, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\",\"class\":\"historic\",\"type\":\"memorial\",\"importance\":0.411,\"icon\":\"https://nominatim.openstreetmap.org/images/mapicons/tourist_monument.p.20.png\"}]'"
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import json",
"execution_count": 52,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "response = json.loads(r.text)",
"execution_count": 53,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "type(response)",
"execution_count": 54,
"outputs": [
{
"data": {
"text/plain": "list"
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "len(response)",
"execution_count": 55,
"outputs": [
{
"data": {
"text/plain": "10"
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "type(response[0])",
"execution_count": 56,
"outputs": [
{
"data": {
"text/plain": "dict"
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "response = r.json()",
"execution_count": 57,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "response",
"execution_count": 58,
"outputs": [
{
"data": {
"text/plain": "[{'place_id': 17323530,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'node',\n 'osm_id': 1691462320,\n 'boundingbox': ['55.7530991', '55.7531991', '37.6479883', '37.6480883'],\n 'lat': '55.7531491',\n 'lon': '37.6480383',\n 'display_name': 'Столовая НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'amenity',\n 'type': 'fast_food',\n 'importance': 0.411,\n 'icon': 'https://nominatim.openstreetmap.org/images/mapicons/food_fastfood.p.20.png'},\n {'place_id': 17118757,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'node',\n 'osm_id': 1691462579,\n 'boundingbox': ['55.753081', '55.753181', '37.6487608', '37.6488608'],\n 'lat': '55.753131',\n 'lon': '37.6488108',\n 'display_name': 'Буфет НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'amenity',\n 'type': 'cafe',\n 'importance': 0.411,\n 'icon': 'https://nominatim.openstreetmap.org/images/mapicons/food_cafe.p.20.png'},\n {'place_id': 236042696,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'relation',\n 'osm_id': 6663748,\n 'boundingbox': ['55.7538213', '55.7539857', '37.6507539', '37.6517626'],\n 'lat': '55.7539023',\n 'lon': '37.65127796499415',\n 'display_name': 'Корпус «К», 11 с4 К, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'building',\n 'type': 'university',\n 'importance': 0.411},\n {'place_id': 236354894,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'relation',\n 'osm_id': 6663747,\n 'boundingbox': ['55.7538268', '55.754191', '37.6494141', '37.6508268'],\n 'lat': '55.75400895',\n 'lon': '37.65012043101585',\n 'display_name': 'Корпус «Ж», 11 с4 Ж, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'building',\n 'type': 'university',\n 'importance': 0.411},\n {'place_id': 236107649,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'relation',\n 'osm_id': 6663746,\n 'boundingbox': ['55.7534087', '55.7537498', '37.6480676', '37.6486057'],\n 'lat': '55.753579900000005',\n 'lon': '37.64830647620072',\n 'display_name': 'Корпус «Е», 11 с2Е, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'building',\n 'type': 'university',\n 'importance': 0.411},\n {'place_id': 236377374,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'relation',\n 'osm_id': 6663745,\n 'boundingbox': ['55.754115', '55.7548274', '37.6483906', '37.6494874'],\n 'lat': '55.7545114',\n 'lon': '37.64864446247735',\n 'display_name': 'Корпус «Д», 11 с1-Д, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'building',\n 'type': 'university',\n 'importance': 0.411},\n {'place_id': 236012914,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'relation',\n 'osm_id': 6663744,\n 'boundingbox': ['55.7531077', '55.7534458', '37.6479431', '37.6489467'],\n 'lat': '55.75328585',\n 'lon': '37.64835116853838',\n 'display_name': 'Корпус «Г», 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'building',\n 'type': 'university',\n 'importance': 0.411},\n {'place_id': 236018085,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'relation',\n 'osm_id': 6663743,\n 'boundingbox': ['55.7537499', '55.754206', '37.6481244', '37.6487391'],\n 'lat': '55.75400295',\n 'lon': '37.64843260415564',\n 'display_name': 'Корпус «В», 11 с1-В, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'building',\n 'type': 'university',\n 'importance': 0.411},\n {'place_id': 236169802,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'relation',\n 'osm_id': 6663742,\n 'boundingbox': ['55.7536927', '55.7541602', '37.6486083', '37.6494462'],\n 'lat': '55.7539337',\n 'lon': '37.64898733687838',\n 'display_name': 'Корпус «Б», 11 с1-Б, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'building',\n 'type': 'university',\n 'importance': 0.411},\n {'place_id': 78876483,\n 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',\n 'osm_type': 'node',\n 'osm_id': 6990965218,\n 'boundingbox': ['55.7535034', '55.7536034', '37.6480796', '37.6481796'],\n 'lat': '55.7535534',\n 'lon': '37.6481296',\n 'display_name': 'Д. М. Карбышеву, 11 с2Е, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия',\n 'class': 'historic',\n 'type': 'memorial',\n 'importance': 0.411,\n 'icon': 'https://nominatim.openstreetmap.org/images/mapicons/tourist_monument.p.20.png'}]"
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "for obj in response:\n if obj['type'] == 'university':\n print(obj['display_name'])\n print(obj['lat'], obj['lon'])",
"execution_count": 59,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Корпус «К», 11 с4 К, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\n55.7539023 37.65127796499415\nКорпус «Ж», 11 с4 Ж, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\n55.75400895 37.65012043101585\nКорпус «Е», 11 с2Е, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\n55.753579900000005 37.64830647620072\nКорпус «Д», 11 с1-Д, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\n55.7545114 37.64864446247735\nКорпус «Г», 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\n55.75328585 37.64835116853838\nКорпус «В», 11 с1-В, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\n55.75400295 37.64843260415564\nКорпус «Б», 11 с1-Б, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\n55.7539337 37.64898733687838\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "entrypoint = \"https://nominatim.openstreetmap.org/search\"\nr = requests.get(entrypoint, {'q': \n 'Москва, Покровский бульвар, 11',\n 'format': 'xml'})\n",
"execution_count": 60,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "print(r.text)",
"execution_count": 61,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<searchresults timestamp='Fri, 20 Mar 20 11:22:20 +0000' attribution='Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright' querystring='Москва, Покровский бульвар, 11' polygon='false' exclude_place_ids='17323530,17118757,236042696,236354894,236107649,236377374,236012914,236018085,236169802,78876483' more_url='https://nominatim.openstreetmap.org/search.php?q=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%2C+%D0%9F%D0%BE%D0%BA%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9+%D0%B1%D1%83%D0%BB%D1%8C%D0%B2%D0%B0%D1%80%2C+11&amp;exclude_place_ids=17323530%2C17118757%2C236042696%2C236354894%2C236107649%2C236377374%2C236012914%2C236018085%2C236169802%2C78876483&amp;format=xml'>\n<place place_id='17323530' osm_type='node' osm_id='1691462320' place_rank='30' boundingbox=\"55.7530991,55.7531991,37.6479883,37.6480883\" lat='55.7531491' lon='37.6480383' display_name='Столовая НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='amenity' type='fast_food' importance='0.411' icon='https://nominatim.openstreetmap.org/images/mapicons/food_fastfood.p.20.png'/><place place_id='17118757' osm_type='node' osm_id='1691462579' place_rank='30' boundingbox=\"55.753081,55.753181,37.6487608,37.6488608\" lat='55.753131' lon='37.6488108' display_name='Буфет НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='amenity' type='cafe' importance='0.411' icon='https://nominatim.openstreetmap.org/images/mapicons/food_cafe.p.20.png'/><place place_id='236042696' osm_type='relation' osm_id='6663748' place_rank='30' boundingbox=\"55.7538213,55.7539857,37.6507539,37.6517626\" lat='55.7539023' lon='37.65127796499415' display_name='Корпус «К», 11 с4 К, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='building' type='university' importance='0.411'/><place place_id='236354894' osm_type='relation' osm_id='6663747' place_rank='30' boundingbox=\"55.7538268,55.754191,37.6494141,37.6508268\" lat='55.75400895' lon='37.65012043101585' display_name='Корпус «Ж», 11 с4 Ж, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='building' type='university' importance='0.411'/><place place_id='236107649' osm_type='relation' osm_id='6663746' place_rank='30' boundingbox=\"55.7534087,55.7537498,37.6480676,37.6486057\" lat='55.753579900000005' lon='37.64830647620072' display_name='Корпус «Е», 11 с2Е, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='building' type='university' importance='0.411'/><place place_id='236377374' osm_type='relation' osm_id='6663745' place_rank='30' boundingbox=\"55.754115,55.7548274,37.6483906,37.6494874\" lat='55.7545114' lon='37.64864446247735' display_name='Корпус «Д», 11 с1-Д, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='building' type='university' importance='0.411'/><place place_id='236012914' osm_type='relation' osm_id='6663744' place_rank='30' boundingbox=\"55.7531077,55.7534458,37.6479431,37.6489467\" lat='55.75328585' lon='37.64835116853838' display_name='Корпус «Г», 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='building' type='university' importance='0.411'/><place place_id='236018085' osm_type='relation' osm_id='6663743' place_rank='30' boundingbox=\"55.7537499,55.754206,37.6481244,37.6487391\" lat='55.75400295' lon='37.64843260415564' display_name='Корпус «В», 11 с1-В, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='building' type='university' importance='0.411'/><place place_id='236169802' osm_type='relation' osm_id='6663742' place_rank='30' boundingbox=\"55.7536927,55.7541602,37.6486083,37.6494462\" lat='55.7539337' lon='37.64898733687838' display_name='Корпус «Б», 11 с1-Б, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='building' type='university' importance='0.411'/><place place_id='78876483' osm_type='node' osm_id='6990965218' place_rank='30' boundingbox=\"55.7535034,55.7536034,37.6480796,37.6481796\" lat='55.7535534' lon='37.6481296' display_name='Д. М. Карбышеву, 11 с2Е, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия' class='historic' type='memorial' importance='0.411' icon='https://nominatim.openstreetmap.org/images/mapicons/tourist_monument.p.20.png'/></searchresults>\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from bs4 import BeautifulSoup",
"execution_count": 38,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "soup = BeautifulSoup(r.text, 'xml')",
"execution_count": 63,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "print(soup.prettify())",
"execution_count": 64,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<searchresults attribution=\"Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright\" exclude_place_ids=\"17323530,17118757,236042696,236354894,236107649,236377374,236012914,236018085,236169802,78876483\" more_url=\"https://nominatim.openstreetmap.org/search.php?q=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%2C+%D0%9F%D0%BE%D0%BA%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9+%D0%B1%D1%83%D0%BB%D1%8C%D0%B2%D0%B0%D1%80%2C+11&amp;exclude_place_ids=17323530%2C17118757%2C236042696%2C236354894%2C236107649%2C236377374%2C236012914%2C236018085%2C236169802%2C78876483&amp;format=xml\" polygon=\"false\" querystring=\"Москва, Покровский бульвар, 11\" timestamp=\"Fri, 20 Mar 20 11:22:20 +0000\">\n <place boundingbox=\"55.7530991,55.7531991,37.6479883,37.6480883\" class=\"amenity\" display_name=\"Столовая НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\" icon=\"https://nominatim.openstreetmap.org/images/mapicons/food_fastfood.p.20.png\" importance=\"0.411\" lat=\"55.7531491\" lon=\"37.6480383\" osm_id=\"1691462320\" osm_type=\"node\" place_id=\"17323530\" place_rank=\"30\" type=\"fast_food\"/>\n <place boundingbox=\"55.753081,55.753181,37.6487608,37.6488608\" class=\"amenity\" display_name=\"Буфет НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\" icon=\"https://nominatim.openstreetmap.org/images/mapicons/food_cafe.p.20.png\" importance=\"0.411\" lat=\"55.753131\" lon=\"37.6488108\" osm_id=\"1691462579\" osm_type=\"node\" place_id=\"17118757\" place_rank=\"30\" type=\"cafe\"/>\n <place boundingbox=\"55.7538213,55.7539857,37.6507539,37.6517626\" class=\"building\" display_name=\"Корпус «К», 11 с4 К, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\" importance=\"0.411\" lat=\"55.7539023\" lon=\"37.65127796499415\" osm_id=\"6663748\" osm_type=\"relation\" place_id=\"236042696\" place_rank=\"30\" type=\"university\"/>\n</searchresults>\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Вытащить из soup все объекты типа University \n# и получить их долготу и широту",
"execution_count": 41,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "places = soup.find_all(\"place\")",
"execution_count": 42,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "places",
"execution_count": 46,
"outputs": [
{
"data": {
"text/plain": "[<place boundingbox=\"55.7530991,55.7531991,37.6479883,37.6480883\" class=\"amenity\" display_name=\"Столовая НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\" icon=\"https://nominatim.openstreetmap.org/images/mapicons/food_fastfood.p.20.png\" importance=\"0.411\" lat=\"55.7531491\" lon=\"37.6480383\" osm_id=\"1691462320\" osm_type=\"node\" place_id=\"17323530\" place_rank=\"30\" type=\"fast_food\"/>,\n <place boundingbox=\"55.753081,55.753181,37.6487608,37.6488608\" class=\"amenity\" display_name=\"Буфет НИУ ВШЭ, 11 с2-Г, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\" icon=\"https://nominatim.openstreetmap.org/images/mapicons/food_cafe.p.20.png\" importance=\"0.411\" lat=\"55.753131\" lon=\"37.6488108\" osm_id=\"1691462579\" osm_type=\"node\" place_id=\"17118757\" place_rank=\"30\" type=\"cafe\"/>,\n <place boundingbox=\"55.7538213,55.7539857,37.6507539,37.6517626\" class=\"building\" display_name=\"Корпус «К», 11 с4 К, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\" importance=\"0.411\" lat=\"55.7539023\" lon=\"37.65127796499415\" osm_id=\"6663748\" osm_type=\"relation\" place_id=\"236042696\" place_rank=\"30\" type=\"university\"/>]"
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "for place in places:\n if place['type'] == 'university':\n print(place['lat'], place['lon'])",
"execution_count": 44,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "55.7539023 37.65127796499415\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "soup.find_all(\"place\", {\"type\": \"university\"})",
"execution_count": 45,
"outputs": [
{
"data": {
"text/plain": "[<place boundingbox=\"55.7538213,55.7539857,37.6507539,37.6517626\" class=\"building\" display_name=\"Корпус «К», 11 с4 К, Покровский бульвар, Швивая горка, Кошельная слобода, Таганский район, Центральный административный округ, Москва, Центральный федеральный округ, 109028, Россия\" importance=\"0.411\" lat=\"55.7539023\" lon=\"37.65127796499415\" osm_id=\"6663748\" osm_type=\"relation\" place_id=\"236042696\" place_rank=\"30\" type=\"university\"/>]"
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "service_key = \"aed44f14aed44f14aed44f14e0aea42709aaed4aed44f14f0a0e62683bef07ab9921b6d\"",
"execution_count": 65,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def get_followers(username):\n\n entrypoint = \"https://api.vk.com/method/\"\n r = requests.get(entrypoint + \"users.get\", \n {\"access_token\": service_key,\n \"v\": \"5.103\",\n \"user_ids\":username})\n user_id = r.json()['response'][0]['id']\n \n r = requests.get(entrypoint + \"users.getFollowers\",\n {'access_token': service_key,\n \"v\": \"5.103\",\n \"user_id\": user_id})\n followers = r.json()['response']['items']\n r = requests.get(entrypoint + \"users.get\",\n {\"access_token\": service_key,\n \"v\": \"5.103\",\n \"user_ids\": \",\".join([\n str(idx) for idx in followers\n ])\n })\n return r.json()",
"execution_count": 85,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "get_followers(\"ischurov\")",
"execution_count": 86,
"outputs": [
{
"data": {
"text/plain": "{'response': [{'id': 227782548,\n 'first_name': 'Ramil',\n 'last_name': 'Nazmeev',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 13693697,\n 'first_name': 'Natalya',\n 'last_name': 'Farafonova',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 430369817,\n 'first_name': 'Valery',\n 'last_name': 'Danilovtsev',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 267438192,\n 'first_name': 'Olya',\n 'last_name': 'Egorova',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 533011942,\n 'first_name': 'Boris',\n 'last_name': 'Dorofeev',\n 'deactivated': 'banned'},\n {'id': 494184528,\n 'first_name': 'Galina',\n 'last_name': 'Yusupova',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 419963702,\n 'first_name': 'Savelii',\n 'last_name': 'Boiko',\n 'is_closed': True,\n 'can_access_closed': False},\n {'id': 3651789,\n 'first_name': 'Gennady',\n 'last_name': 'Kozar',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 177027605,\n 'first_name': 'Ksyusha',\n 'last_name': 'Serdyukova',\n 'is_closed': True,\n 'can_access_closed': False},\n {'id': 351428342,\n 'first_name': 'DELETED',\n 'last_name': '',\n 'deactivated': 'deleted'},\n {'id': 184351552,\n 'first_name': 'Sergey',\n 'last_name': 'Petrakov',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 262890122,\n 'first_name': 'Evgeny',\n 'last_name': 'Kerensky',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 346433584,\n 'first_name': 'Artur',\n 'last_name': 'Petrin',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 155599239,\n 'first_name': 'Seryoga',\n 'last_name': 'Kazimirov',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 270035082,\n 'first_name': 'Lyolya',\n 'last_name': 'Kolesnikova',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 115223935,\n 'first_name': 'Irina',\n 'last_name': 'Sokolova',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 320429406,\n 'first_name': 'DELETED',\n 'last_name': '',\n 'deactivated': 'deleted'},\n {'id': 258716725,\n 'first_name': 'Anastasia',\n 'last_name': 'Gromova',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 117464151,\n 'first_name': 'Petr',\n 'last_name': 'Makaev',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 288473289,\n 'first_name': 'Nadezhda',\n 'last_name': 'Barkova',\n 'deactivated': 'banned'},\n {'id': 284648913,\n 'first_name': 'Yulya',\n 'last_name': 'Kochanova',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 3577694,\n 'first_name': 'Lija',\n 'last_name': 'Yolkina',\n 'is_closed': True,\n 'can_access_closed': False},\n {'id': 1554177,\n 'first_name': 'Gregory',\n 'last_name': 'Alihanov',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 1115995,\n 'first_name': 'Sergey',\n 'last_name': 'Vladimirov',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 265163651,\n 'first_name': 'Polina',\n 'last_name': 'Leschyova',\n 'deactivated': 'banned'},\n {'id': 234749220,\n 'first_name': 'Alexandra',\n 'last_name': 'Chaschina',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 146090983,\n 'first_name': 'Alexander',\n 'last_name': 'Chernyaev',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 175728240,\n 'first_name': 'DELETED',\n 'last_name': '',\n 'deactivated': 'deleted'},\n {'id': 234436310,\n 'first_name': 'Maria',\n 'last_name': 'Smirnova',\n 'deactivated': 'banned'},\n {'id': 224292551,\n 'first_name': 'Svetlana',\n 'last_name': 'Koshkina',\n 'deactivated': 'banned'},\n {'id': 207737969,\n 'first_name': 'Svetlana',\n 'last_name': 'Kovashutina',\n 'deactivated': 'banned'},\n {'id': 199960082,\n 'first_name': 'Alexey',\n 'last_name': 'Fadeev',\n 'is_closed': False,\n 'can_access_closed': True},\n {'id': 478017,\n 'first_name': 'Ekaterina',\n 'last_name': 'Sharova',\n 'is_closed': True,\n 'can_access_closed': False},\n {'id': 156537979,\n 'first_name': 'Kristina',\n 'last_name': 'Shimaeva',\n 'deactivated': 'banned'},\n {'id': 153709370,\n 'first_name': 'Alisa',\n 'last_name': 'Vysotskaya',\n 'is_closed': False,\n 'can_access_closed': True}]}"
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "r.text",
"execution_count": 80,
"outputs": [
{
"data": {
"text/plain": "'{\"response\":[{\"id\":98494130,\"first_name\":\"Ilya\",\"last_name\":\"Schurov\",\"is_closed\":false,\"can_access_closed\":true}]}'"
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "r.json()['response'][0]['id']",
"execution_count": 82,
"outputs": [
{
"data": {
"text/plain": "98494130"
},
"execution_count": 82,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.7.2",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "Lecture 18.ipynb",
"public": false
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment