Mac上のVSCodeではリダイレクト後の緯度経度を含んだURLが取得できましたが
iPhone上のpythonista3ではブラウザ偽装を使用してもftidのURLまでしか取得できませんでした
例えば東京タワーhttps://goo.gl/maps/MN26bVnPLk4A9jZY7
↓↓↓このURLを取得したい
url
1https://www.google.co.jp/maps/place/%E6%9D%B1%E4%BA%AC%E3%82%BF%E3%83%AF%E3%83%BC/@35.6585805,139.7432442,17z/data=!3m2!4b1!5s0x60188bbd90bf26cf:0x4ceb5b05598646d0!4m5!3m4!1s0x60188bbd9009ec09:0x481a93f0d2a409dd!8m2!3d35.6585805!4d139.7454329?hl=ja&shorturl=1
しかしPythonista3では↓↓の様なURLしか取得できない
ftid
1https://www.google.com/maps?q=%E3%80%92105-0011+%E6%9D%B1%E4%BA%AC%E9%83%BD%E6%B8%AF%E5%8C%BA%E8%8A%9D%E5%85%AC%E5%9C%92%EF%BC%94%E4%B8%81%E7%9B%AE%EF%BC%92%E2%88%92%EF%BC%98+%E6%9D%B1%E4%BA%AC%E3%82%BF%E3%83%AF%E3%83%BC&ftid=0x60188bbd9009ec09:0x481a93f0d2a409dd&hl=ja-JP&gl=jp&entry=gps&lucs=swa&shorturl=1
python
1import sys 2import urllib.request 3 4ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19582' 5headers = {'User-Agent' : ua} 6 7# リダイレクト先URLを取得する関数 8def get_redirect_url(src_url): 9 req = urllib.request.Request(src_url, None, headers) 10 with urllib.request.urlopen(req) as res: 11 url = res.geturl() # 最終的な URL を取得 12 if src_url == url: 13 return None # 指定された URL と同じなのでリダイレクトしていない 14 else: 15 return url # 指定された URL と異なるのでリダイレクトしている 16 17src_url = 'https://goo.gl/maps/MN26bVnPLk4A9jZY7' 18 19# リダイレクト先URLを取得 20redirect_url = get_redirect_url(src_url) 21 22# リダイレクト先URLを出力 23if redirect_url is not None: 24 print(redirect_url)
参考:Python で HTTP リダイレクト先の URL を取得する
リダイレクトが短縮URLの後に2回(?)行なわれる様なので二重にリダイレクト後のURLを取得しようとしてもftidのURLしか取得できませんでした
Google手強し…
解決策をご存知の方がいらっしゃったらご教示くださいませ
よろしくお願いします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/08 11:53
2021/05/08 12:09
2021/05/08 12:16
2021/05/08 12:50
2021/05/08 13:21
2021/05/08 13:53
2021/05/08 21:07 編集
2021/05/09 00:48 編集
2021/05/09 01:52
2021/05/09 02:59 編集
2021/05/09 13:31