免费获取韵达快递查询API的使用指南
Google News API + OpenAI 文本生成:了解如何构建您自己的个人新闻聚合器
在本综述中,我们将向您介绍个性化新闻聚合器服务的优缺点,以便您了解什么是个性化新闻聚合器服务,并考虑您可能想用它做什么。阅读本文的许多商人和企业家,或许正考虑利用API构建新闻聚合器服务来盈利的商机。我们衷心希望这篇文章能够激发您们的创意与灵感。您可以阅读我们的指南,了解如何利用 Google News API 创建个性化的新闻聚合器服务,为企业家和业务专业人士提供数据分析和变现策略,从而探索自定义新闻精选的世界。
在本文的最后,我们将为您提供有关如何构建自己的简单桌面新闻聚合器软件的代码,该软件从 Google 检索最新新闻,并使用 OpenAI 的 GPT3.5 的强大功能来分析您告诉它的新闻。那有多酷?一旦您知道如何指导软件开发团队或开始使用 GPT3.5 的解释功能编写您自己的个性化新闻聚合器,就像成为您自己的新闻出版物的负责人一样!或许,您会找到一种创新的方式将其拓展,并借此盈利,将GPT-3.5的新闻分析能力提供给广大的付费订阅用户群体,正如那些传统且成功的个性化新闻聚合器服务所展现的那样。
通过新闻 API、聚合器和个性化新闻源实现信息更丰富的世界
随着新闻聚合器和个性化新闻源的出现,了解世界的最新发展从未如此简单。在 Google News API 等 API 的帮助下,新闻聚合器和个性化新闻源允许用户根据自己的兴趣和偏好策划他们的新闻消费,为他们提供定制的新闻体验。
新闻聚合器和个性化新闻提要的最大好处之一是它们可以节省时间。用户无需花费数小时浏览不同的新闻来源,只需登录他们的聚合器或新闻源,即可快速浏览与他们最相关的标题和文章。这对于那些因忙碌而无暇定期关注新闻的人士而言,尤为实用和便捷。
新闻聚合器服务
目前有几种新闻聚合器和个性化新闻源服务可用。以下是一些最受欢迎的选项:
- 谷歌新闻 – Google 新闻是一个新闻聚合器,它编译来自各种新闻来源的标题,并允许用户根据自己的兴趣自定义他们的新闻提要。
- Flipboard – Flipboard 是一本个性化的新闻杂志,允许用户根据自己的兴趣创建自定义提要,并为浏览文章提供视觉上吸引人的界面。
- Apple News – Apple News 是一个新闻聚合器,可根据用户的兴趣和阅读历史记录提供个性化的新闻提要。
- Feedly – Feedly 是一个新闻聚合器,允许用户从他们最喜欢的网站订阅 RSS 提要,并提供用于浏览文章的可自定义界面。
- News360 – News360 是一款个性化的新闻应用程序,它使用自然语言处理和机器学习来根据用户的兴趣策划新闻源。
- SmartNews – SmartNews 是一个新闻聚合器,它使用机器学习算法根据用户的兴趣和阅读历史提供个性化的新闻提要。
- Pocket – Pocket 是一款稍后阅读的应用程序,允许用户保存文章以供以后阅读,并根据用户的阅读历史提供个性化推荐。
这些只是当前可用的众多新闻聚合器和个性化新闻源服务的几个示例。鉴于每项服务都拥有其独特的功能与优势,因此深入研究并挑选出最贴合您个人需求与偏好的服务显得尤为重要。
个性化新闻聚合器的缺点
如果您过于依赖新闻聚合器和个性化新闻提要,您应该注意一些潜在的缺点。最大的担忧之一是过滤气泡的可能性。当您只消费证实您现有信念和偏见的新闻时,就会发生这种情况,过度依赖此类技术可能限制我们对世界的全面认知,使我们的视野变得狭隘而有限。此外,它还可能加剧社会中的两极分化与分裂,进而对社会造成不利影响。
仅依赖新闻聚合器和个性化新闻源的另一个缺点是缺乏传统新闻来源通常提供的上下文和分析。新闻聚合信息和个性化新闻源主要关注突发新闻和头条新闻,而不是提供深入的分析和背景信息。这可能是有问题的,因为它可能导致对复杂问题和事件的理解肤浅。因此,重要的是要了解这些缺点,并通过其他来源补充您的新闻消费,以获得对世界的更全面了解。
个性化新闻聚合器的优点
我们已经介绍了新闻聚合器和个性化新闻源如何节省您的时间。您无需花费数小时浏览不同的新闻来源,只需登录您最喜欢的聚合器或新闻源,然后快速浏览与您最相关的标题和文章。
总体而言,新闻聚合器和个性化新闻源可以成为帮助您随时了解世界的宝贵工具。然而,至关重要的是,我们需要将这些技术与其他多样化的新闻来源相结合,并充分意识到它们可能存在的局限性。
人工智能和新一代新闻聚合器
随着人工智能和机器学习的兴起,人们对这些技术在新闻解释方面的潜力越来越感兴趣。该领域最令人兴奋的发展之一是使用 GPT3.5 或 GPT4 和自然语言处理以不同的方式自动解释新闻提要。
GPT3.5 或 GPT4 和自然语言处理的一个潜在应用是新闻文章的摘要。用户无需耗费时间阅读整篇冗长的文章,而是能够直接接收到提炼出最重要观点的文章摘要,从而快速掌握核心信息。这可以节省时间,并使个人更容易了解世界的最新发展。
另一个潜在的应用是使用幽默和讽刺来总结新闻文章。这可以使新闻消费更具娱乐性和吸引力,并有助于吸引可能对传统新闻来源不太感兴趣的年轻受众。
GPT3.5 或 GPT4 和自然语言处理也可用于提供新闻文章的要点摘要。这对于时间紧迫或难以阅读较长文章的个人可能特别有用。
GPT3.5 或 GPT4 和自然语言处理也可用于从相反的角度重写新闻文章。对于想要更好地了解对特定问题的不同观点和意见的个人来说,这可能是一个有价值的工具。
更不用说 GPT3.5 和 GPT4 在语言翻译方面也非常高效,因此,请想象一下,提取关于任何主题的全球新闻,并以您偏好的语言、风格或语气来传播这些新闻的摘要,这将变得多么轻松与便捷。
GPT3.5 和 GPT4 可以将新闻变成诗歌、歌词,甚至说唱歌曲,如果你喜欢的话!
可能性是无穷无尽的
因此,在本文的最后,我们将向您展示如何创建新闻聚合器的基本 Python 代码,该聚合器从 GoogleNews(一个免费使用的 Python 库,可从 Google 中提取您选择的任何主题的新闻),然后使用 OpenAI 的 GPT3.5 API 以您想要的任何方式解释该新闻。
考虑到这一点,您构建的个性化新闻聚合器越先进,您就可以让开发人员实施支付处理 API、多用户登录、文本转语音 API、使用 D-ID 等 API 呈现新闻摘要的虚拟人视频,这些 API 会生成虚拟演示者的文本转语音视频。
构建您自己的新闻聚合器
我们将在下面为您提供的代码使用了两种技术:
GoogleNews(Python 开发人员:pip install googlenews)和 OpenAI 的 API(在 OpenAI 注册 API 密钥)
新闻数据是从 Google 新闻提供的超链接中抓取的,并由 OpenAI 强大的 GPT3.5 或 GPT4 API 使用您选择的文本提示进行分析。
Google 新闻
GoogleNews 允许开发人员以编程方式访问来自数千个来源的最新新闻文章,而OpenAI的先进文本生成技术,则能够助力我们生成这些文章的个性化摘要与亮点。
Python GoogleNews 库类似于 Google News API,后者提供对来自数千个来源的最新新闻文章的访问,包括 CNN、纽约时报和卫报等主要新闻媒体。使用 API,开发人员可以按类别、位置或关键字访问文章,从而轻松检索有关特定主题的最新消息。
Google News API 还提供了有关每篇文章的大量信息,包括其标题、作者、发布日期和内容。这使得创建一个全面的新闻聚合器成为可能,它不仅包括最新的标题,还包括每篇文章中最重要的细节。
OpenAI API
OpenAI 的文本生成功能彻底改变了自然语言处理领域。凭借其先进的机器学习算法,OpenAI 可以生成模仿人类写作风格和语气的高质量文本。
使用 OpenAI 的文本生成技术,我们将向您展示如何创建新闻文章的个性化摘要和亮点。通过分析文章的内容并提取最重要的信息,OpenAI 可以生成一个简洁的摘要,只需几句话就可以抓住文章的精髓。
将数据发送到 OpenAI API 进行分析
为了向您展示如何在本文中创建新闻聚合器,我们使用名为 Beautiful Soup 的免费网络抓取库创建了 Python 程序。
从新闻URL中抓取的数据内容越加纯净,那么OpenAI对其进行分析的效果就会越加出色。您可以在 此链接 上研究来自 APILayer 的可用 Web 抓取 API ,其中提供了许多高级 Web 抓取工具。
也许抓取在线新闻 URL 的最佳方法是使用像 Screenshotlayer 这样的 API 并将新闻 URL 的屏幕截图转换为文本,然后将该文本传递给 OpenAI API 进行分析。
创建新闻聚合器
通过将 Google News API 与 OpenAI 的文本生成功能相结合,可以创建一个强大的新闻聚合器,提供最新新闻文章的个性化摘要。以下是它的工作原理:
从 Google News API 检索最新的新闻文章,使用关键字、类别或位置来筛选结果。
从每篇文章中提取最重要的信息,例如主题、关键引述和相关统计数据。
使用 OpenAI 的文本生成技术,根据提取的信息创建每篇文章的个性化摘要。
在网页或移动应用程序上显示最新的新闻文章及其个性化摘要和亮点。
结果是一个新闻聚合器,它为用户提供了最新新闻的全面概述,并根据他们的兴趣和偏好进行了个性化设置。通过运用先进的机器学习算法对新闻文章进行深入分析与精炼总结,这款新闻聚合器能够有效节省用户的时间,为他们带来一种更为简洁、高效的新闻获取体验。
Google News Aggregator 使用 OpenAI API 以幽默的语气总结科技新闻
使用 OpenAI API 的 Google 新闻聚合器总结 Tech News 阿拉伯语
Google 新闻聚合器使用 OpenAI API 指出水新闻中的关键问题
代码
事不宜迟,下面是您在上面的屏幕截图中看到的应用程序代码。
复制并粘贴下面的代码,将其保存到 Python 文件中,您可以从 Windows 命令提示符或 Mac 终端运行。
将下面的代码保存到名为 google_news_aggregator.py 的文件中。使用您自己的 OpenAI API 密钥更新代码。
import openai
import re
from GoogleNews import GoogleNews
import webbrowser
from tkinter import *
import requests
from bs4 import BeautifulSoup
openai.api_key = 'Use your own OpenAI API key'
def search_and_display():
# Get the search input from the input box
search_query = input_box.get()
# Create a GoogleNews object and search for news articles
googlenews = GoogleNews()
googlenews.search(search_query)
# Retrieve the search results and summarize each article
try:
result = googlenews.result()
except AttributeError:
print("No results found")
return
summaries = []
for article in result:
summary = summarize_article(article['desc'], article['link'])
summaries.append(summary)
# Update the text area with the search results and summaries
text_area.delete('1.0', END)
text_area.insert(END, f"Search results for '{search_query}':\n\n")
for i, article in enumerate(result):
text_area.insert(END, f"Article {i+1}\n")
text_area.insert(END, f"Title: {article['title']}\n", 'title')
text_area.insert(END, f"Summary: {summaries[i]}\n", 'content')
text_area.insert(END, article['link'], ('content', 'hyperlink'))
text_area.insert(END, "\n\n")
text_area.tag_configure('hyperlink', foreground='blue', underline=True)
text_area.tag_bind('hyperlink', '<Button-1>', open_link)
def summarize_article(article, url):
response = requests.get(url)
# three different web scraping methods are used to try and collect data from news urls to pass to OpenAI
text = ""
try:
soup = BeautifulSoup(response.content, "html.parser")
text = soup.get_text()
text = text[:1000] #This tries to scrape web page with 1000 character limit
except:
pass
if not text:
try:
text = response.json()
text = str(text)[:1000]
except:
pass
if not text:
try:
text = response.content
text = str(text)[:1000]
except:
pass
model_engine = "text-davinci-003"
# Get the prompt text from the text box
prompt_text = prompt_input.get("1.0", "end-1c")
# Add the article and scraped text to the prompt
prompt = f"{prompt_text}\n{article}\n\nHere is some additional scraped data for context. Ignore anything spurious such as HTML tags or social share/subscribe calls to action that doesn't relate to {article}:\n{text}"
response = openai.Completion.create(engine=model_engine, prompt=prompt, temperature=0.2, max_tokens=1500, n=1, stop=None)
summary = response.choices[0].text
return re.sub('\s+', ' ', summary).strip()
def open_link(event): # Define a function to open the link
text_widget = event.widget # Get the widget which is clicked
index = text_widget.index(f"@{event.x},{event.y}")
tag_names = text_widget.tag_names(index)
if 'hyperlink' in tag_names:
line_start = text_widget.index(f"{index} linestart")
line_end = text_widget.index(f"{index} lineend")
line_text = text_widget.get(line_start, line_end)
url_match = re.search("(?P<url>https?://[^\s]+)", line_text)
if url_match:
url = url_match.group("url")
webbrowser.open_new(url) # Open the URL in a new window
# Create a GoogleNews object
googlenews = GoogleNews()
# Create the Tkinter application and set the title
root = Tk()
root.title("Google News Aggregator")
root.configure(background='#F5F5F5')
# Create the input box label
input_label = Label(root, text="Enter search query:")
input_label.pack(padx=10, pady=10)
# Create the input box
input_box = Entry(root, width=50)
input_box.pack(padx=10, pady=10)
# Create the prompt label
prompt_label = Label(root, text="Enter prompt data:")
prompt_label.pack(padx=10, pady=10)
# Create the prompt input box
prompt_input = Text(root, height=5, width=50)
prompt_input.pack(padx=10, pady=10)
# Create the search button
search_button = Button(root, text="Search", command=search_and_display)
search_button.pack(padx=10, pady=10)
# Create the text area
text_area = Text(root, height=30, width=200, bg='#FFFFFF', fg='black')
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
text_area.pack(side=LEFT, fill=Y)
scrollbar.config(command=text_area.yview)
text_area.config(yscrollcommand=scrollbar.set)
text_area.insert(END, "Google News Aggregator\n\n")
text_area.tag_configure('title', background='lightblue', font=('Arial', 14, 'bold'))
text_area.tag_configure('content', background='yellow', font=('Arial', 12))
text_area.tag_configure('hyperlink', foreground='blue', underline=True)
text_area.tag_bind('hyperlink', '<Button-1>', open_link)
# Set the tag configuration for hyperlink text
text_area.tag_configure('hyperlink', foreground='blue', underline=True)
# Bind the hyperlink tag to open the link in a web browser
text_area.tag_bind('hyperlink', '<Button-1>', open_link)
# Start the main loop
root.mainloop()
开发人员注意事项
尽管 Python 用户可以复制粘贴并运行 Python 文件中的代码,但我们假设您拥有支持 f 字符串的最新版本的 Python,并且您在查找和导入 Python 模块方面经验丰富。ChatGPT和Stackoverflow为解决代码问题提供了出色的解决方案。
结论
作为开发人员,您可以通过将新闻与 OpenAI 的下一代功能相结合来访问一个非常强大的工具。通过这种组合,您可以创建一个个性化的新闻聚合器,它可以实时提供最新新闻,为您的用户提供最重要文章的简洁和自定义摘要。
这是通过运用机器学习和自然语言处理技术的强大能力来实现的,这些技术能够辅助您自动化地完成新闻文章的搜索与摘要生成过程。通过利用这些技术,您可以帮助人们在当今快节奏的世界中保持消息灵通,同时简化用户消费新闻的流程。
因此,如果您想构建新闻聚合器或任何其他类型的 AI 驱动的应用程序,请考虑使用这些强大的工具来创建更加智能和个性化的用户体验。
如果这篇文章启发了您,您应该认真查看 APILayer 提供的定制新闻聚合器 API,例如 mediastack 和 financelayer,它们具有多种编程语言的非常简单的文档,您和您的开发人员可以开始将其集成到您自己的软件应用程序中。