【问题标题】:extract tweets with some special keywords from twitter using tweepy in python在 python 中使用 tweepy 从 twitter 中提取带有一些特殊关键字的推文
【发布时间】:2018-08-12 09:58:30
【问题描述】:

这是我的代码..我想用一些关键字从推特中提取推文....我的代码没有给出任何错误,但我没有生成输出文件......请帮助我...... ..

import re
import csv
import tweepy
from tweepy import OAuthHandler
#TextBlob perform simple natural language processing tasks.
from textblob import TextBlob



def search():
    #text = e.get() **************************

consumer_key = ''
consumer_secret = ''
access_token = ' '
access_token_secret = ' '
# create OAuthHandler object
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
# set access token and secret
auth.set_access_token(access_token, access_token_secret)
# create tweepy API object to fetch tweets
api = tweepy.API(auth)

def get_tweets(query, count = 300):

   # empty list to store parsed tweets
   tweets = []
   target = open("tweets.txt", 'w',encoding="utf-8")
   t1 = open("review.txt", 'w',encoding="utf-8")
   # call twitter api to fetch tweets
   q=str(query)
   a=str(q+" sarcasm")
   b=str(q+" sarcastic")
   c=str(q+" irony")
   fetched_tweets = api.search(a, count = count)+ api.search(b, count = count)+ api.search(c, count = count)
   # parsing tweets one by one
   print(len(fetched_tweets))

   for tweet in fetched_tweets:

       # empty dictionary to store required params of a tweet
       parsed_tweet = {}
       # saving text of tweet
       parsed_tweet['text'] = tweet.text
       if "http" not in tweet.text:
           line = re.sub("[^A-Za-z]", " ", tweet.text)
           target.write(line+"\n")
           t1.write(line+"\n")
   return tweets

   # creating object of TwitterClient Class
   # calling function to get tweets
tweets = get_tweets(query =text, count = 20000)

root.mainloop()

从这段代码中,我也没有得到输出生成的文件。谁能告诉我我做错了什么? 提前致谢!

【问题讨论】:

  • 请正确格式化您的代码,每行使用四个前导空格(选择它,然后单击方括号 {} 或输入 strg+k)。
  • 我假设你删除了密钥和秘密只是为了在这里发布它?还是在您的本地文件中?
  • 运行此代码得到什么输出?你得到你想要的输出了吗,唯一的问题是你不能把这些推文保存到一个文件中?
  • 当我在终端中使用 python tweet.py 运行代码时,它就像.........~/Desktop/miniproject$

标签: python python-2.7 twitter tweepy


【解决方案1】:

我只是做了一些细微的改变,它对我来说非常有效。删除或评论了一些不必要的陈述(如审查文件)。将 open 函数更改为 io.open 因为我有 python 版本 2.7。下面是运行代码,希望对你有帮助!!

`

import re
import io
import csv
import tweepy
from tweepy import OAuthHandler
#TextBlob perform simple natural language processing tasks.
#from textblob import TextBlob


consumer_key = 'sz6x0nvL0ls9wacR64MZu23z4'
consumer_secret = 'ofeGnzduikcHX6iaQMqBCIJ666m6nXAQACIAXMJaFhmC6rjRmT'
access_token = '854004678127910913-PUPfQYxIjpBWjXOgE25kys8kmDJdY0G'
access_token_secret = 'BC2TxbhKXkdkZ91DXofF7GX8p2JNfbpHqhshW1bwQkgxN'
# create OAuthHandler object
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
# set access token and secret
auth.set_access_token(access_token, access_token_secret)
# create tweepy API object to fetch tweets
api = tweepy.API(auth)




def get_tweets(query, count = 300):

    # empty list to store parsed tweets
    tweets = []
    target = io.open("mytweets.txt", 'w', encoding='utf-8')
    # call twitter api to fetch tweets
    q=str(query)
    a=str(q+" sarcasm")
    b=str(q+" sarcastic")
    c=str(q+" irony")
    fetched_tweets = api.search(a, count = count)+ api.search(b, count = count)+ api.search(c, count = count)
    # parsing tweets one by one
    print(len(fetched_tweets))

    for tweet in fetched_tweets:

        # empty dictionary to store required params of a tweet
        parsed_tweet = {}
        # saving text of tweet
        parsed_tweet['text'] = tweet.text
        if "http" not in tweet.text:
            line = re.sub("[^A-Za-z]", " ", tweet.text)
            target.write(line+"\n")
    return tweets

    # creating object of TwitterClient Class
    # calling function to get tweets
tweets = get_tweets(query ="", count = 20000)

`

【讨论】:

  • thankyou..上面的代码正在运行....现在我可以获取从推文中提取情感相关特征的代码
  • 您可能想要删除您的 consumer_secrettoken_secret
猜你喜欢
  • 2021-04-30
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
  • 2017-02-11
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多