2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pythonista3でブラウザで開いているURLのタイトルを取得する

Last updated at Posted at 2019-01-27

iPhoneで見ていたページを共有する方法は幾つかあるが、その場で共有するならともかく、一旦、どこかで保持してから共有するのは、どうも使いにくい。下の3枚の画像は①SafariからiOS標準のメモ帳で記録し、②メモ腸からTwitterで共有する、という流れだが③でURLの情報が失われている。
01.png

といって、URLだけ保存していると、QiitaのURLのように、あとでURLを見て何のページかわからない。そこでPythonista3でURLにタイトルを付与するというスクリプトを書いてみた。利用イメージとしては、下の3枚の画像のように①事前にPythonistaを有効にしておき、②Safariの共有で「Run Pythonista Script」を起動して、③URLを送るスクリプトを送るという流れである。

02.png

URLはappex.get_url()もしくはクリップボードから取得し、タイトルの取得にはBeautifulSoupを使っている。

import sys
import appex
import urllib.request
import clipboard
from bs4 import BeautifulSoup

def main():
	if appex.is_running_extension():
		url = appex.get_url()
	else:
		url = clipboard.get()
	
	try:
		html = urllib.request.urlopen(url=url)
		soup = BeautifulSoup(html, 'html.parser')
		title = soup.title.string
		print(title+'\r\n'+url)
		clipboard.set(title)
	except:
		print(url)
		print(sys.exc_info()[0])
		pass
	
if __name__ == '__main__':
	main()

後半にprint(title+'\r\n'+url)で書いているようにタイトル、URLの順で画面表示され、クリップボードにタイトルが格納される。

単にタイトルを取得するだけでなく、あんなことやこんなことにも応用できそうだ。

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?