Linux 中的终端是一个强大的工具。 你可以在其中做任何事情,当我说任何事情时,我的意思是 任何事物. 您可以做的一件很酷的事情是在终端中获取新闻提要。 而且它非常轻量级,考虑到我们只是修改我们的 bashrc 文件来实现这一点。 太好了,让我们开始吧!
安装 curl 和 jq
我们需要像这样的工具 curl 和 Jq 从 JSON API 获取提要。 根据您的发行版,通过在终端中键入以下命令将这些安装到您的操作系统中。
对于基于 Ubuntu 的系统:
sudo apt update && sudo apt -y install curl jq
对于 Arch Linux 和基于 Arch 的发行版:
sudo pacman -S curl jq
为了 Fedora 工作站:
sudo dnf install curl jq
在 NewsAPI 上注册
为了获取新闻,我们必须首先获得我们自己的个人 API。 前往 NewsAPI 的官方网站并使用电子邮件和安全密码进行注册。
完成注册后,登录并回家。 从那里,单击“获取 API 密钥”。 复制文本字符串并将其粘贴到安全的地方。 不要与任何人分享此信息,因为这可能会被用来冒充您。 现在我们准备好编写脚本了。
备份 BashRC 并修改脚本
首先,让我们备份当前的 bashrc 文件以防万一。 让我们使用 cp 命令复制这个文件:
cp ~/.bashrc ~/bashrc.bak
在终端中,通过键入以下命令,在首选文本编辑器(vim 或 nano)中打开主目录中的 .bashrc 文件:
vim ~/.bashrc
要么
nano ~/.bashrc
如果您在 Vim 中,请按 i 进入插入模式。 导航到底部并复制粘贴以下脚本:
getnews () { curl https://newsapi.org/v2/top-headlines -s -G -d sources=$1 -d apiKey=YOUR_API_KEY | jq -r '.articles[] | .title, .url, .description, ""' } topnews () { tput setaf 3; printf "News from the BBC:n" tput setaf 6; getnews bbc-news tput setaf 3; printf "News from The Hindu:n" tput setaf 6; getnews the-hindu tput setaf 3; printf "News from Time:n" tput setaf 6; getnews time tput setaf 3; printf "Top News from India:n" tput setaf 6; getnews the-times-of-india }
更换 YOUR_API_KEY 使用您之前从 NewsAPI 网站获得的自己的 API 密钥。
按 Ctrl+O 将文件保存在 纳米 并按 Ctrl+X 退出。
在 Vim 文本编辑器中,按退出键进入可视模式,然后键入 :wq 保存并退出。
Linux 终端中的流媒体新闻
现在,重新启动终端或键入以下命令 bash 识别我们更新的 bashrc 文件:
source .bashrc
最后,在终端中键入此命令并查看输出:
topnews
在行 | jq -r '.articles[] | .title, .url, .description, ""'
您还可以添加如下字段 .content, .author 分别获取小内容和作者的名字,但我觉得它使终端混乱,所以我没有将它添加到我的代码中。 您也可以选择删除 .url
要么 .description
如果您觉得它使终端杂乱无章,因此您可以获得头条新闻。 不要忘记用逗号 (,) 分隔这些字段。
按 Ctrl 键,然后单击新闻 URL 以在 Web 浏览器中打开文章。
您还可以选择更改输出的颜色(使用指定的 tput setaf
代码中的命令)通过根据本文中提到的图表更改数字。
接下来,您还可以更改新闻来源以从您首选的媒体渠道获取新闻。 NewsAPI 提供了大量的新闻网站供您选择。 添加 getnews <news-source>
到上面的代码。 来源是:
新闻来源 | 网站 | 新闻来源 | 网站 |
abc-news-au | 美国广播公司新闻(澳大利亚) | 美国有线电视新闻网 | 美国有线电视新闻网 |
科技技术 | 技术工坊 | ESPN | ESON |
美联社 | 美联社 | espn-cric-信息 | ESPN Cric 信息 |
axios | 爱讯 | 谷歌新闻 | 谷歌新闻 |
看台报告 | 看台报告 | 黑客新闻 | 黑客新闻 |
英国广播公司的新闻 | 英国广播公司的新闻 | 登录 | IGN |
英国广播公司体育 | 英国广播公司体育 | 今日医学新闻 | 今日医学新闻 |
图片 | 图片 | mtv新闻 | 音乐电视新闻 |
彭博社 | 彭博社 | 国家地理 | 国家地理 |
赫芬顿邮报 | 赫芬顿邮报 | 新科学家 | 新科学家 |
商业内幕 | 商业内幕 | 纽约杂志 | 纽约杂志 |
嗡嗡声 | Buzfeed | reddit-r-所有 | Reddit r/全部 |
有线 | 有线 | 副新闻 | 副新闻 |
时间 | 时间 | 华盛顿邮报 | 华盛顿邮报 |
华尔街日报 | 华尔街日报 | 边缘 | 边缘 |
技术雷达 | 技术雷达 | 路透社 | 路透社 |
印度教 | 印度教 | 电报 | 电讯报 |
印度时代 | 印度时报 | 每日邮件 | 每日邮件 |
各种网站的新闻来源
我们只提到了几个来源,因为它们有很多。 您可以前往 https://newsapi.org/sources 并根据您居住的国家/地区复制粘贴“源 ID”。
概括
您还可以通过键入独立地从各个来源获取文章 getnews <news-source>
在终端太。 希望本文能帮助您了解您所在国家和世界的最新新闻事件。