2016-05-07 35 views
-1

我正在使用python 3.4,tweepy API将推文提取到文本文件,而不是只提取整个页面的源提取。如果有一种方法只能获取推文而不是整个源代码。只提取特定#hastag的推文

+1

我们可以看到你的代码吗? – Oisin

+1

那么你到目前为止尝试过什么?谨慎分享您的试验和错误代码? – Deusdeorum

+0

API = tweepy.API(AUTH) alltweets = [] \t new_tweets = api.user_timeline(SCREEN_NAME = SCREEN_NAME,计数= 200) alltweets.extend(new_tweets) 最老= alltweets [-1] .ID - 1 而LEN(new_tweets)> 0: \t \t打印( “%S” %(最老的)) new_tweets = api.user_timeline(SCREEN_NAME = SCREEN_NAME,计数= 200,max_id =旧) alltweets.extend(new_tweets) 最老= alltweets [-1] .id - 1 print(“%s”%(len(alltweets))) outtweets = [[tweet.id_str,tweet.created_at,tweet.text.encode(“utf-8”)) ]用于所有人的推文] with open('%s_t weets.csv'%screen_name,'wb')as f: \t \t writer = csv.writer(f) –

回答

0

推文格式化为JSON。所以在你的脚本中包含简单的JSON来对它们进行编码。 (顺便说一句,这是Python 2.7版,所以你将不得不做打印不同)

from tweepy.utils import import_simplejson 
json = import_simplejson() 

加载每个鸣叫与蟒蛇,确保数据[“实体] [”主题标签]字段不为空(所以它有一个包括hashtag)

data_temp = json.loads(data) 
if data_temp['entities']['hashtags']: 
    tweet_text = data_temp["text"].encode('utf-8') 

然后打印出来到文件

print(tweet_text, file=write_file) 

这些只是片段,用这个家伙脚本来帮助你去和采购的tweet。大起大落对他说:https://github.com/bwbaugh/twitter-corpus

+0

无法找到import_simplejson python模块,得到Name错误 –

+0

应该在'实体' –

+0

'实体中给出什么值'是一个包含'hashtags'的JSON值。你只是检查其中是否有值,表明推文中有一个hashtag。然后你保存来自data_temp的推文文本。 – wprins

0

Twitter的收益流API鸣叫对于给定字JSON格式进行跟踪

from requests_oauthlib import OAuth1Session 
twitter_session = OAuth1Session(consumer_key,client_secret=consumer_secret,resource_owner_key=access_token,resource_owner_secret=access_token_secret) 
streaming_tweets_objects = twitter_session.post('https://stream.twitter.com/1.1/statuses/filter.json',data={'track':query_word },stream=True) 

#标签替换query_word您正在寻找..请注意,这也将返回如果主题标签出现在鸣叫文本而不是作为一个主题标签。 对于hashtag,您可以通过检查['entities'] ['hashtags'] ['text']中的存在来过滤结果。

迭代streaming_tweets_objects以获取推文及其元数据。

for tweet in r.iter_lines(): 
    if tweet: 
     tweet_data = json.loads(tweet) 

现在,您可以从推文数据json字符串中获取所需的所有标签。

+0

如何在文件中存储该推文 –

+0

'streaming_tweets_objects'变量返回值响应[200] –

+0

您需要遍历此对象 – Tanu