Jupyterの小技3
Jupyterの小技2の続き

世界一のものを表示させる

準備として、まず、下記を実行してください。

import random, re, urllib, IPython.core.getipython
from itertools import takewhile
with urllib.request.urlopen('https://ja.wikipedia.org/wiki/'
    '%E4%B8%96%E7%95%8C%E4%B8%80%E3%81%AE%E4%B8%80%E8%A6%A7') as fp:
    s0 = fp.read().decode('utf8')
s = re.sub('<img.*?/>', '', s0.replace('\u3000', ''))
le = 0
while le != len(s):
    le = len(s)
    s = re.sub(r'<(a|b|i|span|strong|sup)[^>]*>(.*?)</\1>', r'\2', s)
s = re.sub(r'\[[0-9]*]', '', s)
ll = re.findall('<li>(.*?)</li>', s[10000:])
ll = [i for i in takewhile(lambda s: not s.startswith('ギネス世界記録'), ll)
    if '最' in i or '世界一' in i or len(i) > 15]
def G_impl(s, lst=ll):
    print(random.choice(lst))
ip = IPython.core.getipython.get_ipython()
if ip:
    ip.register_magic_function(G_impl, magic_name='G')

実行してみる

G
>>>
音節が世界一少ない言語の一つ)→ ハワイ語 - 35音節
G
>>>
不規則動詞が世界一多い言語 フランス語 - 570

以上

广告
将在 10 秒后关闭
bannerAds