def getRandomArticlesFromCategory(self, categoryName, sampleSize = 50, articleNameCompare = None, multi = False):
cacheName = "randomArticleCacheNames/"+categoryName
articles = self.getArticles(categoryName)
articles = [art for art in articles if not art==articleNameCompare]
subSize = min(sampleSize, len(articles))
subNames = random.sample(articles, subSize)
if multi:
_bound_instance_method_alias = functools.partial(_instance_method_alias, self)
pool = ThreadPool(self.cpuCount)
subText = pool.map(_bound_instance_method_alias, subNames)
#subText = pool.map(_bound_instance_method_alias, range(len(subNames)))
else:
subText = [self.getArticleContent(art) for art in subNames]
catlen = len(articles)
'''
with open(cacheName, "w") as f:
for i in subNames:
f.write(i+"\n")
for i, t in enumerate(subText):
with open("randomArticleCache/"+subNames[i], "w") as f:
#print subText[i]
f.write("\n".join(subText[i]))
'''
return catlen, len(subText), subNames, subText
评论列表
文章目录