はじめに
自分のPCのファイルを整理していたら、3年くらい前にPythonで書いたものをいっぱい見つけたので、何をしていたのかを思い出しながら記事にできそうなものから記事にしておこうと思いました。本記事で紹介するプログラムは、ネットでどこか行く予定の場所(特定の地名)を調べていた時、その場所の地図や天気を知りたくなった時に使うこと想定しています。地名や住所をドラッグしてクリップボードにコピーし本プログラムを動かすことで、その場所の地図がgoogle Mapのサイトで、天気がYahoo天気のサイトで自動的に表示されます。
環境
-
Python3.9.0
使用ライブラリ: sys,webbrowser,pyperclip,urllib.parse -
MacOS 11.2.3/Windows10
コード
非常に短くて簡単なコードです。本コードではクリップボードの前にコマンドライン引数を確認しています。quote関数により取得した文字列をURLにと連結できる形に整えます。url_weatherとurl_mapに代入されたアドレスをwebbrowser.openに入力するとブラウザが開きます。googleマップとYahoo天気のページが開きます。url_weatherやurl_mapに任意のURLを代入することでカスタマイズすることができます。
#coding:utf-8
import sys, webbrowser, pyperclip, urllib.parse
"""コマンドラインかクリップボードから場所を取得して検索"""
"""コマンドラインから場所を取得"""
if len(sys.argv) > 1:
address = ''.join(sys.argv[1:])
else:
"""クリップボードから場所を取得"""
address = pyperclip.paste()
url_weather = 'https://weather.yahoo.co.jp/weather/search/?p=' + urllib.parse.quote(address)
url_map = 'https://www.google.com/maps/place/' + urllib.parse.quote(address)
webbrowser.open(url_map)
webbrowser.open(url_weather)
動作例
クリップボードに「宮古島」をコピーし本プログラムを起動するとsafariにgoogleマップで宮古島を表示するタブとYahoo天気で宮古島の天気を表示されるタブの2つが自動で現れます。
カスタマイズ例
- クリップボードから取得する文字列を「翻訳したい英文」にし、リクエスト先をDeepLのURLにする。
まとめ
Pythonによる自動化は本当に便利だし、思いついた自動化のアイデアを形にできた時は達成感で満たされるので初心者にも非常におすすめです。