News API Dataset
收藏大型数据集生成
简介
该项目展示了如何通过从API获取数据并将其导出到文本文件来生成大型数据集。使用News API收集关于特定主题的文章,并将结果存储在.txt文件中。
API详情
使用News API获取最新的新闻文章。以下是详细信息:
- 端点:
https://newsapi.org/v2/everything - 参数:
q:查询关键词(例如,Elon Musk)language:文章的语言(例如,en表示英语)sortBy:排序标准(例如,publishedAt表示最新文章)apiKey:您的News API密钥
脚本解释
获取数据
脚本使用axios库从News API获取数据。以下是获取过程的分解:
javascript
const axios = require("axios");
require("dotenv").config();
const fs = require("fs");
const apiKey = process.env.NEWS_KEY;
const url = https://newsapi.org/v2/everything?q=elon+musk&language=en&sortBy=publishedAt&apiKey=${apiKey};
axios.get(url)
.then((response) => {
const totalResults = response.data.totalResults;
const articles = response.data.articles;
let data = `Total articles about Elon Musk in the US: ${totalResults}
; data += "Articles: "; articles.forEach((article, index) => { data += ${index + 1}. ${article.title}
; data += Source: , ${article.source.name}
; data += Published at: ${article.publishedAt}
; data += URL: ${article.url}
`; }); fs.writeFile("articles.txt", data, (err) => { if (err) { console.error("Error writing to file:", err); } else { console.log("Data successfully written to articles.txt"); } }); }) .catch((error) => { console.error("Error fetching the articles:", error); });
写入文件
获取的数据被格式化并使用fs(文件系统)模块写入.txt文件:
javascript
fs.writeFile(articles.txt, data, (err) => {
if (err) {
console.error(Error writing to file:, err);
} else {
console.log(Data successfully written to articles.txt);
}
});
运行脚本
要运行脚本并生成数据集,请使用以下命令: bash node index.js
这将获取关于Elon Musk的最新文章,格式化数据并将其写入articles.txt
示例输出
运行脚本后,您将在根目录中找到articles.txt,内容类似于:
Total articles about Elon Musk in the US: 100
Articles:
-
Elon Musks SpaceX launches new rocket Source: TechCrunch Published At: 2024-08-06T12:34:56Z URL: https://techcrunch.com/article
-
Teslas new model breaks records Source: The Verge Published At: 2024-08-06T11:23:45Z URL: https://theverge.com/article
...
先决条件
在开始之前,请确保已安装以下内容:
设置
克隆仓库
- 首先,将此仓库克隆到您的本地机器: bash git clone https://github.com/yourusername/large-dataset-generation.git cd large-dataset-generation
安装依赖项
- 安装所需的Node.js包: bash npm i dotenv
环境变量
- 在项目的根目录中创建一个
.env文件并添加您的News API密钥:
NEWS_API_KEY=your_news_api_key_here
技术
该项目使用以下技术:
- Replit: 用于在线编码和开发
- Node.js: JavaScript运行时环境
- JavaScript: 用于脚本的编程语言
- axios: 用于进行API请求的基于Promise的HTTP客户端
项目结构
large-dataset-generation
├── index.js
├── README.md
├── articles.txt
├── .env
└── video
└── creating_data.gif




