Spaces:
Sleeping
Sleeping
| import requests | |
| from bs4 import BeautifulSoup | |
| from transformers import pipeline | |
| from newspaper import Article | |
| from gtts import gTTS | |
| import os | |
| # Function to fetch and parse news article | |
| def fetch_article(url): | |
| article = Article(url) | |
| article.download() | |
| article.parse() | |
| return article.text | |
| # Function to summarize text using Hugging Face model | |
| def summarize_text(text): | |
| summarizer = pipeline("summarization", model="facebook/bart-large-cnn") | |
| summary = summarizer(text, max_length=150, min_length=50, do_sample=False) | |
| return summary[0]['summary_text'] | |
| # Function to perform sentiment analysis on a text | |
| def sentiment_analysis(text): | |
| sentiment_analyzer = pipeline("sentiment-analysis") | |
| sentiment = sentiment_analyzer(text)[0] | |
| return sentiment['label'] | |
| # Function to fetch news articles based on company name | |
| def fetch_news(company_name, num_articles=10): | |
| search_url = f"https://news.google.com/search?q={company_name}&hl=en-US&gl=US&ceid=US%3Aen" | |
| response = requests.get(search_url) | |
| soup = BeautifulSoup(response.content, 'html.parser') | |
| articles = [] | |
| for item in soup.find_all('article')[:num_articles]: | |
| title = item.find('h3').text | |
| link = item.find('a')['href'] | |
| full_url = "https://news.google.com" + link[1:] if link.startswith('.') else link | |
| text = fetch_article(full_url) | |
| summary = summarize_text(text) | |
| sentiment = sentiment_analysis(text) | |
| articles.append({ | |
| 'Title': title, | |
| 'Summary': summary, | |
| 'Sentiment': sentiment, | |
| 'Link': full_url | |
| }) | |
| return articles | |
| # Function to generate TTS in Hindi | |
| def generate_tts_hindi(text, output_file='output.mp3'): | |
| tts = gTTS(text, lang='hi') | |
| tts.save(output_file) | |
| return output_file | |