SumMedia in a News Web package
The SumMedia is a powerful Python tool used for extracting and parsing newspaper articles. It simplifies the process of web scraping, article downloading and working with openai API. The plugin enables various functionalities related to news content personalization and categorization. Here's an overview of its key features and functionalities:
Table of Contents
- Article Extraction
- SumMedia for Filtering and Categorizing Articles
- SumMedia as a Personal Assistant for Reading Articles
- SumMedia for Generating Post for Social Media
- Multi-language Support
Article Extraction
Download articles from a given URL and extract useful information like the text, authors, publish date, images, videos, and more.
from summedia.fetching_data import (
get_text,
get_time_read,
get_images,
get_publishing_date,
get_authors,
get_title,
get_movies,
get_meta_description,
get_meta_keywords
)
URL = "www.example.url"
text_article = get_text(URL)
time_read = get_time_read(URL, words_per_minute=238)
img_urls = get_images(URL)
publish_date = get_publishing_date(URL)
authors = get_authors(URL)
title = get_title(URL)
movies = get_movies(URL)
meta_description = get_meta_description(URL)
meta_keywords = get_meta_keywords(URL)
Filtering and Categorizing Articles
The work can involve using ChatGPT to analyze and filter news or inappropriate content. You can also develop an algorithm for categorizing articles based on topic, location, date, and other factors.
import os
from summedia.text import Text
txt = Text(api_key=os.environ.get("OPENAI_API_KEY"))
tag_and_categorize_text = txt.tag_and_categorize_text("your text here", model_type="gpt-3.5-turbo-1106")
Personal Assistant for Reading Articles
Browse various news websites, fetch article headlines and brief summaries, and then deliver them in a user-friendly manner.
import os
from summedia.text import Text
from summedia.level import SimplificationLevel
text = Text(api_key=os.environ.get("OPENAI_API_KEY"))
summary_article = text.summarize_text("www.example.url", max_number_words=150, model_type="gpt-3.5-turbo-1106")
analyze_sentiment = text.analyze_sentiment("www.example.url", max_number_words=150, model_type="gpt-3.5-turbo-1106")
to_bullet_list = text.to_bullet_list("www.example.url", model_type="gpt-3.5-turbo-1106")
adjust_text_complexity = text.adjust_text_complexity("www.example.url", level = SimplificationLevel.STUDENT, model_type="gpt-3.5-turbo-1106")
Generating Post for Social Media
Automate posts to Twitter/X and facebook by just specifying the url for article.
import os
from summedia.social_media import SocialMedia
social_media = SocialMedia(api_key=os.environ.get("OPENAI_API_KEY"))
post_to_facebook = social_media.post_to_facebook(
"your text here", model_type="gpt-3.5-turbo-1106"
)
condense_text_to_tweet = social_media.condense_text_to_tweet(
"your text here", model_type="gpt-3.5-turbo-1106"
)
Multi-language Support
Handling articles in different languages, making it versatile for international applications. You can also use it as an article translator.
import os
from summedia.text import Text
txt = Text(api_key=os.environ.get("OPENAI_API_KEY"))
translate_text = txt.translate_text("your text here", model_type="gpt-3.5-turbo-1106", language_to_translate="en")
Create your own prompt
Create a prompt tailored to your needs.
import os
from summedia.elastic import ElasticAPIRequester
your_prompt = ElasticAPIRequester(api_key=os.environ.get("OPENAI_API_KEY"))
content_system_prompt = "YOUR SYSTEM PROMPT HERE"
content_user_prompt = "YOUR USER PROMPT HERE"
elastic_prompt_result = your_prompt.elastic_prompt(content_system_prompt, content_user_prompt, model_type="gpt-3.5-turbo-1106")
Requirements & Costs
You'll need a paid OpenAI account and an API key.
Check out more here:
https://openai.com/pricing
Installation
pip install summedia
How to run tests
pytest --cov=summedia