本文整理汇总了Python中models.Tweet.fetchByTopic方法的典型用法代码示例。如果您正苦于以下问题:Python Tweet.fetchByTopic方法的具体用法?Python Tweet.fetchByTopic怎么用?Python Tweet.fetchByTopic使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Tweet
的用法示例。
在下文中一共展示了Tweet.fetchByTopic方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: scoreUrls
# 需要导入模块: from models import Tweet [as 别名]
# 或者: from models.Tweet import fetchByTopic [as 别名]
def scoreUrls():
if request.method == 'POST':
app.logger.info('request form: {}'.format(request.form))
topic = request.form.get('topic')
elif request.method == 'GET':
app.logger.info('request args: {}'.format(request.args))
topic = request.args.get('topic')
if not topic:
abort(400)
app.logger.info('Topic param received: {}'.format(topic))
tweets = Tweet.fetchByTopic(topic)
# group by url and add score
urlScores = {}
for tweet in tweets:
for url in tweet.urls:
if url not in urlScores:
urlScores[url] = {
'id': url,
'tweeted_count': 0,
'retweeted_sum': 0.,
'favorite_sum': 0.,
}
app.logger.debug('Url added: {}'.format(url))
urlScores[url]['tweeted_count'] += 1
urlScores[url]['retweeted_sum'] += math.log(max(1, tweet.retweet_count))
urlScores[url]['favorite_sum'] += math.log(max(1, tweet.favorite_count))
app.logger.info('All {} tweets parsed and found {} urls'.format(len(tweets), len(urlScores)))
app.logger.info('Saving urls...')
for url, url_info in urlScores.iteritems():
link = Link.create(topic, url, url_info)
# continue to scrape for new tweets
taskqueue.add(url='/cron/topic', params={'topic': topic})
app.logger.info('Task created to scrape for new tweets for {}'.format(topic))
mail.send_mail(
sender='[email protected]',
to='[email protected]',
subject='Score urls {}'.format(topic),
body='{} tweets created {} urls'.format(len(tweets), len(urlScores)),
)
app.logger.info('Scoring urls done for {}'.format(topic))
return Response('OK')