確率で最適解を求めるのはまた今度やろう
なあんて。どうもへらです。
とりあえず夜も深くなるどころか朝になっているのでなんとなく書いておきます。
出来たこと
- キーワードからのサジェストキーワードを取得
- さらにそこからデータを加工してリストで保存
- findとかreplaceとか
- そんでもってデータストアAPIで保存
とりあえず上手いこといっています。
def chaining(self): query = Pair.all() query.filter('from_keyword =', self.word) chain = [] for result in query: chain.append(result.to_keyword) if chain == []: q = urllib2.quote(self.word.encode('utf-8')) url = 'http://www.google.co.jp/complete/search?json=t&q=' + q #サジェストAPIにフェッチ result = urlfetch.fetch(url=url) if result.status_code == 200: words = simplejson.loads(unicode(result.content, 'sjis')) chain = self.convertChainList(words[1]) for chain_word in self.chain: db.run_in_transaction( self.__saveSuggestPair, to_keyword=chain_word, from_keyword=self.word) else: chain = False self.chain = chain return chain
try{〜}catch{〜}はあとで実装します。
とりあえず特定の条件で動いてから。んでテストにかけて例外処理を実装っと。
ってこれってちゃんとローカルにデータがある場合にURLフェッチをせずにやってるのかな……。
ログ観ればわかるけれど、それも後回し。全体が動かないと、イメェェジが。