Advertisement
Guest User

Untitled

a guest
May 7th, 2023
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.16 KB | Source Code | 0 0
  1. import openai
  2. import tweepy
  3. import mysql.connector
  4. from mysql.connector import errorcode
  5.  
  6. # OpenAI API KEY
  7. openai.api_key = "INSERT-YOUR-API-KEY-HERE"
  8.  
  9. # Twitter Bearer Token
  10. client = tweepy.Client(
  11.     bearer_token='INSERT-YOUR-TWITTER-BEARER-TOKEN-HERE')
  12.  
  13. # Twitter search query
  14. query = "#capitaledellacultura OR #capitalecultura OR (capitale cultura)"
  15. tweets = tweepy.Paginator(client.search_recent_tweets, query=query,
  16.                           tweet_fields=['created_at', 'id'], max_results=100).flatten(limit=1000)
  17.  
  18.  
  19. try:
  20.     cnx = mysql.connector.connect(user='YOUR-USER-HERE', password='YOUR-PASSWORD-HERE',
  21.                                   host='127.0.0.1',
  22.                                   database='tweetsopenai')
  23.     cursor = cnx.cursor()
  24. except mysql.connector.Error as err:
  25.     if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
  26.         print("Something is wrong with your user name or password")
  27.     elif err.errno == errorcode.ER_BAD_DB_ERROR:
  28.         print("Database does not exist")
  29.     else:
  30.         print(err)
  31. else:
  32.     for tweet in tweets:
  33.         try:
  34.             cursor.execute("SELECT * FROM tweets WHERE tweet_id = (%s);", (tweet.id,))
  35.             if cursor.fetchone() is None:
  36.                 response = openai.Completion.create(
  37.                 model = "text-davinci-003",
  38.                 prompt = "Decide whether a Tweet's sentiment is positive, neutral, or negative.\n\nTweet: \"" + tweet.text + "\"",
  39.                 temperature = 0,
  40.                 max_tokens = 60,
  41.                 top_p = 1.0,
  42.                 frequency_penalty = 0.5,
  43.                 presence_penalty = 0.0
  44.                 )
  45.  
  46.                 sql = "INSERT INTO tweets (tweet_id, tweet_created_at, tweet_text, tweet_sentiment) VALUES (%s, %s, %s, %s);"
  47.                 val = (tweet.id, tweet.created_at, tweet.text, response['choices'][0]['text'])
  48.                 cursor.execute(sql, val)
  49.                 cnx.commit()
  50.                 print("Insert tweet with id", tweet.id, "in database.")
  51.  
  52.             else:
  53.                 print("Tweet already in database.")
  54.  
  55.         except:
  56.             print('Something went wrong.')
  57.  
  58.     cursor.close()
  59.     cnx.close()
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement