Spaces:
Runtime error
Runtime error
| import requests | |
| import json | |
| from dotenv import load_dotenv | |
| import os | |
| load_dotenv() | |
| API_KEY = 'NEWSAPI_API_KEY' | |
| # Functions -------------------------------------------------------------------------------------------------------------> | |
| def extract_article_info_from_list(article_list): | |
| try: | |
| # Initialize a string to store the extracted information | |
| extracted_info = "" | |
| # Extract and store the desired information for each article | |
| for article in article_list: | |
| description = article.get("description", "N/A") | |
| title = article.get("title", "N/A") | |
| author = article.get("author", "N/A") | |
| content = article.get("content", "N/A") | |
| # Append the information to the string | |
| extracted_info += f"Title: {title}\nAuthor: {author}\nDescription: {description}\nContent: {content}\n\n" | |
| return extracted_info | |
| except Exception as e: | |
| # Handle any exceptions | |
| return f"An error occurred: {str(e)}" | |
| def grab_articles(url, **kwargs): | |
| response = requests.get(url, 5) | |
| if response.status_code == 200: | |
| extracted_article = extract_article_info_from_list(response.json()['articles']) | |
| print(extracted_article) | |
| return extracted_article | |
| else: | |
| raise Exception(f"Error: {response.status_code}, {response.text}") | |
| # URL Configuration Here -------------------------------------------------------------------------------------------------------------> | |
| BASE_URL_EVERYTHING = 'https://newsapi.org/v2/everything?' | |
| BASE_URL_TOP_HEADLINES = 'https://newsapi.org/v2/top-headlines?' | |
| TOPIC = 'bitcoin' | |
| FROM = '2023-01-08' # Starting date | |
| TO = '2023-11-08' # Ending date | |
| SORTBY = 'popularity' # Relevancy, Popularity, PublishedAt | |
| DOMAINS = 'techcrunch.com, thenextweb.com' # Domains you want to use. | |
| COUNTRY = 'gb&' # Options: US, AU, JP, PH etc. | |
| SOURCES = 'bbc-news' | |
| CATEGORY = 'business' # Options: business, entertainment, general health, science, sports, technology | |
| # Everything URL list | |
| urls_everything = f"{BASE_URL_EVERYTHING}q={TOPIC}&domains={DOMAINS}&sortBy={SORTBY}&apiKey={API_KEY}" | |
| # Top Headlines URL list | |
| urls_top_headlines = f"{BASE_URL_TOP_HEADLINES}topic={TOPIC}&country={COUNTRY}&category={CATEGORY}&sources={SOURCES}&apiKey={API_KEY}" | |