仅提取特定#hastag的推文

时间:2016-05-07 15:34:48

标签: python tweepy

我正在使用python 3.4,tweepy API将推文提取到文本文件中,而不仅仅是推文,正在提取整个页面源。如果有办法让推文只有整个源代码。

2 个答案:

答案 0 :(得分:0)

这些推文的格式为JSON。因此,在脚本中包含简单的JSON以对其进行编码。 (顺便说一下这是python 2.7所以你必须以不同的方式进行打印)

from tweepy.utils import import_simplejson
json = import_simplejson()

使用python加载每条推文,确保数据[' entities] [' hashtags]字段不为空(因此它有一个标签)

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

然后将其打印到文件

print(tweet_text, file=write_file)

这些只是片段,使用这个人脚本来帮助你开始并获取推文。对他来说很重要:https://github.com/bwbaugh/twitter-corpus

答案 1 :(得分: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 ..请注意,如果在tweet文本中存在hashtag而不是hashtag,这也会返回。 对于主题标签,您可以通过检查['entities'] ['hashtags']中的状态来过滤您的结果['text']

遍历streaming_tweets_objects以获取推文及其元数据。

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

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