コード例 #1
0
 def __init__(self):
     # labels: (1) 火鍋 (2) 中式 (3) 西式 (4) 日韓 (5) 吃到飽 (6) 東南亞
     self.keyword_dict = {u'火鍋': [u'鍋', u'涮'],
                          u'中式': [u'牛肉麵', u'雞排', u'便當', u'鍋貼', u'炒麵', u'炒飯',
                                    u'燴飯', u'羹', u'米糕', u'割包', u'刈包', u'豆漿', u'蛋餅',
                                    u'豆花', u'麵線', u'貴州', u'黔', u'廣東', u'粵', u'福建',
                                    u'閩', u'浙江', u'浙', u'上海', u'山東', u'魯', u'東北',
                                    u'新疆', u'疆', u'蒙古', u'蒙', u'四川', u'川', u'湖南',
                                    u'湘', u'小籠', u'湯包', u'包子', u'魚翅', u'湯圓', u'菜飯',
                                    u'雲南', u'滇', u'緬', u'半筋', u'鹽酥', u'鹹酥', u'口水雞',
                                    u'銀絲捲', u'宮保', u'滷肉飯', u'空心菜', u'爌肉', u'菜頭',
                                    u'白菜滷', u'薑母鴨'],
                          u'西式': [u'咖啡', u'早午餐', u'brunch', u'Brunch', u'帕尼尼',
                                    u'鬆餅', u'義大利麵', u'漢堡', u'三明治', u'海鮮飯',
                                    u'燉飯', u'薯條', u'吐司', u'乾式熟成', u'筆管麵', u'法國',
                                    u'布蕾', u'布丁', u'蛋糕', u'餅乾', u'蒙布朗', u'漢堡排'],
                          u'日韓': [u'拉麵', u'丼', u'韓式泡菜', u'日式', u'韓式', u'壽司',
                                    u'生魚片', u'天婦羅', u'蓋飯', u'親子丼', u'燒肉', u'定食',
                                    u'章魚燒', u'石鍋', u'韓國', u'豆腐煲', u'部隊鍋',
                                    u'銅盤烤肉', u'五花肉', u'壽喜燒', u'唐揚', u'烏龍麵',
                                    u'蓋飯'],
                          u'吃到飽': [u'Buffet', u'buffet', u'吃到飽'],
                          u'東南亞': [u'河粉', u'越式', u'泰式', u'清真', u'月亮蝦餅',
                                      u'椒麻雞', u'印度', u'中東', u'土耳其']}
     self.label_text = {'1': u'火鍋', '2': u'中式', '3': u'西式', '4': u'日韓', '5': u'吃到飽',
                        '6': u'東南亞'}
     self.keyword_boundary = []
     self.feature_set = []
     self.update_dict()
     self.crawler = page_crawler.ptt_crawler()
     self.clf = MultinomialNB()
コード例 #2
0
def main():
    crawler = page_crawler.ptt_crawler()
    classifier = text_classifier()
    classifier.train('train_data')
    #classifier.update_feature('train_data', 'train')
    classifier.gen_feature('food_ptt_imgpos_tw_full')
コード例 #3
0
import codecs
import urllib
import json
from BeautifulSoup import BeautifulSoup
from urllib2 import urlopen, build_opener
from page_crawler import ptt_crawler

# ref: http://xiaosu.blog.51cto.com/2914416/1340932
reload(sys)
sys.setdefaultencoding('utf8')

# ref: http://stackoverflow.com/questions/4545661/unicodedecodeerror
#      -when-redirecting-to-file
sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout)

crawler = ptt_crawler()
buf = ''
with open(sys.argv[1], 'r') as f:
    for line in f:
        line = line.strip()
        if line == '':
            if 'img' in buf:
                print buf
            buf = ''
        else:
            buf = '{0}\n{1}'.format(buf, line)
        # extract image urls
        if line.startswith('blog_url'):
            try:
                soup = BeautifulSoup(crawler.get_page(line.split(' ')[1]))
                buf = '{0}\nblogtitle {1}'.format(buf, soup.find('title').text)