2016-05-07 23 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