集体智慧编程-单词统计
2015-05-18 19:45
357 查看
这里写链接内容
# -*- coding: utf-8 -* import re import feedparser #把html中的单词解析出来并转为小写 def getwords(html): txt = re.compile(r'<[^>]+>').sub('', html) words = re.compile(r'[^A-Z^a-z]+').split(txt) return [word.lower() for word in words if word != ''] #得到博客全部的单词 def getwordcounts(url): d = feedparser.parse(url) wc = {} for e in d.entries: if 'summary' in e: summary = e.summary else: summary = e.description words = getwords(e.title + '' + summary) for word in words: wc.setdefault(word, 0) wc[word] += 1 return d.feed.title, wc if __name__ == '__main__': # 出现这些单词的博客数 blogcount = {} #对每个博客,建立一个单词统计表 wordcounts = {} feedlist = [line for line in file('C:\\Users\\DELL\\Desktop\\feedlist.txt')] for feedurl in feedlist: title, wc = getwordcounts(feedurl) wordcounts[title] = wc for word, count in wc.items(): blogcount.setdefault(word, 0) if count > 1: blogcount[word] += 1 #单词列表,去掉频率过大或者过小的单词 wordlist = [] for w, bc in blogcount.items(): frac = float(bc) / len(feedlist) if frac > 0.1 and frac < 0.5: wordlist.append(w) datafile = file('blogdata', 'w') datafile.write('Blog') for word in wordlist: datafile.write('\t%s' % word) datafile.write('\n') for blogname, wc in wordcounts.items(): print blogname datafile.write(blogname) for word in wordlist: if word in wc: datafile.write("\t%d" % wc[word]) else: datafile.write("\t0") datafile.write('\n')
相关文章推荐
- 【集体智慧编程 学习笔记】统计订阅源中的单词数
- 数据挖掘 - 集体智慧编程 - 寻找独立特征
- 集体智慧编程学习之决策树
- 集体智慧编程:第二章,推荐算法
- 集体智慧编程——优化搜索算法:爬山法,模拟退火算法,遗传算法-Python实现
- 集体智慧编程(二)发现群组
- “集体智慧编程”之第三章:“发现群组”的 分级聚类
- 八、手把手教MapReduce 单词统计案例编程
- 输入一行字符,编程统计其中有多少单词
- 集体智慧编程学习之决策树
- 集体智慧编程_前言
- 集体智慧编程——决策树建模(下)
- 【集体智慧编程】【Python3】【读书笔记1】提供推荐
- 文档过滤(集体智慧编程第6章)
- 集体智慧编程 第二章 匹配商品
- 集体智慧编程——提供推荐
- Hadoop mapduce 统计单词编程示例
- 【转】读书笔记:“集体智慧编程”之第二章:推荐算法——协同滤波
- 分级聚类算法(集体智慧编程)
- 【集体智慧编程】第二章、提供推荐