Spaces:
Runtime error
Runtime error
import re | |
import tweepy | |
import pandas as pd | |
import gradio as gr | |
import itertools | |
import collections | |
from collections import Counter | |
import numpy as np | |
from transformers import pipeline | |
classifier = pipeline('sentiment-analysis') | |
summarizer= pipeline("summarization", max_length=10) | |
#hashtag_phrase ="#datascience" | |
#recent_tweet_count_you_want =100 | |
def search_hashtag1(hashtag_phrase,recent_tweet_count_you_want): | |
#hashtag_phrase=input("Enter hashtahg") | |
consumer_key="30GAxNeTfZuPL5SfNhFBodmRF" | |
consumer_secret="C6O64nP0XjtwaAnXYL9zCcDZKEIP2iL1yVdlsNJtwLiZ5AEEBs" | |
access_token="1246523558563471360-WrbCqO8phqjIzx393mrfOSKvDFPmey" | |
access_token_secret="u7B6yX6ZyTa5ph7xkCFnbzyuD9jbuHHJNL0Y4S7mdZb1J" | |
auth = tweepy.OAuthHandler(consumer_key, consumer_secret) | |
auth.set_access_token(access_token, access_token_secret) | |
api = tweepy.API(auth) | |
fname = '_'.join(re.findall(r"#(\w+)", hashtag_phrase)) | |
data_frame=pd.DataFrame(columns={"timestamp"}) | |
timestamp=[] | |
tweet_text=[] | |
user_name=[] | |
user_id=[] | |
for tweet in tweepy.Cursor(api.search_tweets, q=hashtag_phrase+' -filter:retweets',lang="en", tweet_mode='extended').items(recent_tweet_count_you_want): | |
timestamp1=tweet.created_at | |
timestamp.append(timestamp1) | |
#tweet_text1=tweet.full_text.replace('\n',' ').encode('utf-8') | |
tweet_text1=tweet.full_text | |
tweet_text.append(tweet_text1) | |
user_name1=tweet.user.screen_name.encode('utf-8') | |
user_name.append(user_name1) | |
user_id1=tweet.id | |
user_id.append(user_id1) | |
data2=pd.DataFrame(timestamp,columns={"timestamp"}) | |
data1=pd.DataFrame(tweet_text,columns={"tweet_text"}) | |
data3=pd.DataFrame(user_name,columns={"user_name"}) | |
data4=pd.concat([data1,data2],axis=1) | |
data5=pd.concat([data4,data3],axis=1) | |
data7=pd.DataFrame(user_id,columns={"user_id"}) | |
data6=pd.concat([data5,data7],axis=1) | |
tweet_list=data6.tweet_text.to_list() | |
p = [i for i in classifier(tweet_list)] | |
q=[p[i]['label'] for i in range(len(p))] | |
data10=pd.DataFrame(q,columns={"sentiment"}) | |
data_tweet_final=pd.concat([data6,data10],axis=1) | |
p_summarize_label = [i for i in summarizer(tweet_list)] | |
q_summarize=[p_summarize_label[i]['summary_text'] for i in range(len(p_summarize_label))] | |
data_summarize=pd.DataFrame(q_summarize,columns={"summarized_tweets"}) | |
data_tweet_summarize_final=pd.concat([data_tweet_final,data_summarize],axis=1) | |
data_tweet_summarize_final.to_csv("tweet_data2.csv") | |
#data6.to_csv("tweet_data1.csv") | |
#data6=data5.head(10) | |
return data_tweet_summarize_final | |
iface = gr.Interface( | |
search_hashtag1,inputs=["text","number"], | |
outputs="dataframe", | |
examples=[["#datascience",5],["#valentine's day",10],["#pushpa",15],["#budget",20],["#sharktankindia",30]], | |
theme="seafoam", | |
title='Sakil Tweetlib6 App', | |
description="You can extract tweets based on Hashtag.e.g. Please enter #datascience. The app extracts tweets based on the hashtag and the number of tweet count you want.") | |
iface.launch(inline=False) |