ラッコキーワードの作り方

2022.09.10

GoogleColabで下記のコードをコピペしてシフト+エンターで走らせてください。

そうすると、検索キーワードを求められるので入力してエンター。

サジェストがぶわーっと50音+英数字で出力されます。

ネットで拾ったコードをちょい足ししただけなので、いつ動かなくなるかは知らんけど。

import argparse
from time import sleep
from string import ascii_lowercase
from string import digits
import requests
import urllib.parse

class GoogleAutoComplete:
    def __init__(self, test_mode=False):
        self.base_url = 'https://www.google.co.jp/complete/search?hl=ja&output=toolbar&ie=utf-8&oe=utf-8&client=firefox&q='
        self.test_mode = test_mode


        if test_mode:
            self.suggest_chars = ['あ', 'い', 'う','え','お','か','き','く','け','こ','さ','し','す','せ','そ','た','ち','つ','て','と','な','に','ぬ','ね','の','は','ひ','ふ','へ','ほ','や','ゆ','よ','ら','り','る','れ','ろ','わ','を','ん','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','10','11','12','13']
        else:
            #+αキーワードをファイルに保存して使う場合
            keyword_file = open('suggest_keyword.dat', 'r')
            self.suggest_chars = [keyword.rstrip() for keyword in keyword_file]

    def get_suggest(self, query, is_sleep=False):
        req = requests.get(self.base_url + urllib.parse.quote_plus(query)).json()
        suggests = [ph for ph in req[1]]
        if is_sleep:
            sleep(1)
        return suggests

phrase = input('検索キーワード : ')
gac = GoogleAutoComplete(test_mode=True)
ret = gac.get_suggest(phrase,is_sleep=True)

print('-------------------')
print('検索語 --> [{0}]'.format(phrase))
print("")
for key in ret:
    print(key)

for keyword in gac.suggest_chars:
    print("")
    print('-------------------')
    print('検索語 --> [{0}]'.format(phrase + ' ' + keyword))
    print("")
    for output in gac.get_suggest(phrase + ' ' + keyword):
        print(output)