#きっかけ
GoogleMapのナビに業を煮やし
Yahooカーナビの検索能力に困惑していたため
他にもショートカットやPythonistaで作っている方がいましたが
イマイチ理解出来なかったので強引に座標データを取得する事を決意
(API使用料も払えないしね…)
#いきなりですがコードです
#!python3
# ↓候補には上がりませんが最初からインストールされていました
from bs4 import BeautifulSoup
import urllib.request
import webbrowser
import appex
if not appex.is_running_extension():
print('oh no!')
else:
# グーグルマップの共有より短縮URLを取得
src_url = appex.get_url()
# 短縮URLより通常のURLを取得
response = urllib.request.urlopen(src_url)
# ↓よく分かんないけと参考サイトのをコピペ状態
query = urllib.parse.parse_qs(response.url)
# URLにftidの文字列が含まれていた場合
if ('ftid' in query):
# htmlを取得
html = response.read()
# ↓ここもよくわからないけど整形してるらしい
root = BeautifulSoup(html,'html5lib')
# html内に存在する@を起点に座標データを取得
# 調べた限りでは2箇所に座標データが存在してましたが楽に取得できる方を設定
(lat, lon) = str(root).split('@')[2].split('\\')[0].split(',')[0:2]
# ftidの文字列がなかった場合
else:
# ↓参考サイトのをコピペかつ手抜き化
(lat, lon) = query['https://www.google.com/maps?q'][0].split(',')
# YahooカーナビへのURL(?)に座標データを設定
yahoo = 'yjcarnavi://navi/select?lat=%s&lon=%s' % (lat, lon)
# Yahooカーナビ起動!
webbrowser.open(yahoo)
#書く事なし
コメントに書いたのでもう思い浮かびません
Pythonistaの設定などは他で調べて下さい(力尽きました)