Skip to content

Instantly share code, notes, and snippets.

@huseyinyilmaz
Last active July 26, 2018 02:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save huseyinyilmaz/2f6c41695ccbac03699c14ada37de726 to your computer and use it in GitHub Desktop.
Save huseyinyilmaz/2f6c41695ccbac03699c14ada37de726 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from collections import Counter\n",
"from itertools import chain\n",
"import requests"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"access_token = '&access_token=37d4400d9157c0d7b0237e5a5568d9af41272462' # access\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def get_all_segment_ids():\n",
" segments_explore = 'https://www.strava.com/api/v3/segments/explore?'\n",
" bounds = '&bounds=40.771394267343176, 26.488085546875027, 41.598195829044954, 31.607714453125027' # istanbul\n",
" endpoint = segments_explore + bounds + access_token\n",
" segments_resp = requests.get(endpoint).json()\n",
" return [s['id'] for s in segments_resp['segments']]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def get_segment_leaders(seg_id):\n",
" leader_board = 'https://www.strava.com/api/v3/segments/'\n",
" query = '/leaderboard?&per_page=50'\n",
" endpoint = leader_board + str(seg_id) + query + access_token\n",
" resp = requests.get(endpoint).json()\n",
" # same atlhlete might come up multiple times in same segment\n",
" return set(e['athlete_name'] for e in resp['entries'])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"segment_count_per_biker = Counter(\n",
" segment_leader\n",
" for segment_id in get_all_segment_ids()\n",
" for segment_leader in get_segment_leaders(segment_id)).items()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['Emre E.',\n",
" 'Arzu S.',\n",
" 'Burak K.',\n",
" 'Mustafa Ç.',\n",
" 'Gökhan K.',\n",
" 'Ulaş A.',\n",
" 'Tufan S.',\n",
" 'Kerim B.',\n",
" 'Baris G.',\n",
" 'Svarte D.',\n",
" 'Sinan Y.',\n",
" 'Faruk Ç.',\n",
" 'İlker K.',\n",
" 'Efe M. B.',\n",
" 'Hüseyin O.',\n",
" 'Erkan S.',\n",
" 'Murat K.',\n",
" 'Kagan Y.',\n",
" 'Ömer G.',\n",
" 'Zafer K.',\n",
" 'Sinan K.',\n",
" 'Refikcan K.',\n",
" 'Özhan A.',\n",
" 'Can A.',\n",
" 'Görkem G.',\n",
" 'Andaç U.',\n",
" 'Özgür N.',\n",
" 'Hüseyin K.',\n",
" 'Emir T.',\n",
" 'Seyit Süslü/ D.',\n",
" 'Tolga Z.',\n",
" 'Zafer Y.',\n",
" 'Mert B.',\n",
" 'Guclu G.',\n",
" 'Salurhan /.',\n",
" 'Grand Marshal |.',\n",
" 'N. Talha Ö.',\n",
" 'Tarık Kutan K.',\n",
" 'Volkan A.',\n",
" 'Alptekin B.',\n",
" 'Ali D.',\n",
" 'Tuna T.',\n",
" 'Gökhan D.',\n",
" 'Melih Ö.',\n",
" 'Cem K.',\n",
" 'Uğur |.',\n",
" 'Bora T.',\n",
" 'Midousuji A.',\n",
" 'Mustafa Doğan T.',\n",
" 'Hakan Arakita Y.',\n",
" 'TengİrŞek 🇨.',\n",
" 'Turgay Ö.',\n",
" 'Berkay F.',\n",
" 'Aytekin E.',\n",
" 'Red Tige R M.',\n",
" 'Numan K.',\n",
" 'Volkan K.',\n",
" 'Gurkan O.',\n",
" 'Fatih A.',\n",
" '♨️ Adonis ♨.',\n",
" 'Erkan O.',\n",
" 'Adnan Ç.',\n",
" 'Irfan T.',\n",
" 'Humphry H.',\n",
" 'Soner K.',\n",
" 'Ozkan A.',\n",
" 'Doğuhan G.',\n",
" 'Ömer Furkan K.',\n",
" 'Ömer D.',\n",
" 'Ali K.',\n",
" 'Mete Or ♂.',\n",
" 'Can S.',\n",
" 'Onat K.',\n",
" 'Mutlu E.',\n",
" 'Huseyin S.',\n",
" 'Ahmet E.',\n",
" 'Alkan A.',\n",
" 'İsmail D.',\n",
" 'Ertuğrul D.',\n",
" 'Sabih B.',\n",
" 'özcan Y.',\n",
" 'Ozan M.',\n",
" 'Berker A.',\n",
" 'Volkan Ö.',\n",
" 'Sefa C.',\n",
" 'Alper K.',\n",
" 'Hakan T.',\n",
" 'Furkan E.',\n",
" 'Ufuk Y.',\n",
" 'Alper G.',\n",
" 'ErcanÖzkaya (.',\n",
" 'Avichai G.',\n",
" 'Murat G.',\n",
" 'Furkan D.',\n",
" 'Ömer A.',\n",
" 'Serkan B.']"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"duplicate_bikers = [name for name, count in segment_count_per_biker if count > 1]\n",
"duplicate_bikers"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment