这是我目前的代码
from twitter import *
t = Twitter(auth=OAuth(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET,
ACCESS_TOKEN, ACCESS_TOKEN_SECRET))
t.statuses.home_timeline()
query=raw_input("enter the query \n")
data = t.search.tweets(q=query)
for i in range (0,1000):
print data['statuses'][i]['text']
print '\n'
在这里,我从所有语言中获取推文。有没有办法限制自己只用英语提取推文?
答案 0 :(得分:4)
至少有4种方式......我按顺序排列。
收集推文后,json输出有一个标识语言的键/值对。因此,您可以使用此类内容来获取所有语言推文,并仅选择来自英语帐户的推文。
for i in range (0,1000):
if data['statuses'][i][u'lang']==u'en':
print data['statuses'][i]['text']
print '\n'
另一种只收集用英语标识的推文的方法,你可以使用可选的'lang'参数来从API请求只有英文(自我识别)的推文。详见here。如果您使用的是python-twitter库,则可以在twitter.py中设置“lang”参数。
使用guess-language等语言识别包。
或者,如果您想在不使用自我识别的推特数据(即使用英文撰写的中文帐户)的情况下识别英文文本,则必须进行自然语言处理。 One option。此方法将识别常用英语单词,然后将文本标记为英语。
答案 1 :(得分:0)
我为波斯语尝试了这个:
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
res = api.search('lang','fa')
for i in res:
print( i.lang)