Nodejs wikipedia读取链接求分享

Nodejs wikipedia读取链接求分享

不是wikipedia官方的node的API实例,那个有界面的~

2 回复

Node.js Wikipedia 读取链接分享

背景

你可能正在寻找一种方法来通过 Node.js 访问 Wikipedia 的数据。虽然 Wikipedia 提供了官方的 API,但这些 API 通常带有复杂的用户界面。这里我们将展示如何使用 Node.js 直接从 Wikipedia 获取数据。

步骤

  1. 安装必要的依赖 首先,你需要安装 axios 这个库来发送 HTTP 请求,以及 cheerio 来解析 HTML。

    npm install axios cheerio
    
  2. 编写代码 接下来,我们编写一个简单的脚本来获取 Wikipedia 页面的数据。以下是一个示例:

    const axios = require('axios');
    const cheerio = require('cheerio');
    
    async function fetchWikipediaPage(title) {
        try {
            // 发送请求到 Wikipedia
            const response = await axios.get(`https://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&titles=${title}&exintro=1&explaintext=1`);
            
            // 解析 JSON 数据
            const pages = response.data.query.pages;
            for (const key in pages) {
                if (pages.hasOwnProperty(key)) {
                    const extract = pages[key].extract;
                    console.log(extract);
                }
            }
        } catch (error) {
            console.error('Error fetching data from Wikipedia:', error);
        }
    }
    
    // 示例调用
    fetchWikipediaPage('Node.js');
    
  3. 解释代码

    • axios: 用于发送 HTTP GET 请求到 Wikipedia API。
    • cheerio: 虽然在这个例子中没有直接使用,但你可以用它来解析 HTML 内容。
    • fetchWikipediaPage 函数: 这个函数接受一个参数 title,表示你想获取的 Wikipedia 页面的标题。
    • axios.get: 发送请求到 Wikipedia API,并获取 JSON 响应。
    • response.data.query.pages: 这里包含从 Wikipedia 返回的所有页面数据。
    • console.log(extract): 输出提取的文本内容。

总结

以上代码展示了如何使用 Node.js 和一些常用的库(如 axioscheerio)来从 Wikipedia 获取数据。这种方式比使用官方 API 更简单,适合快速获取数据。希望这对你有所帮助!


当然可以。根据你的需求,你需要使用 Node.js 读取 Wikipedia 页面的内容。这可以通过 axiosnode-fetch 库来实现 HTTP 请求,同时使用 cheerio 来解析返回的 HTML 内容。

示例代码

首先,确保你已经安装了必要的库:

npm install axios cheerio

然后,你可以使用以下代码来读取 Wikipedia 页面的内容:

const axios = require('axios');
const cheerio = require('cheerio');

async function fetchWikipediaPage(url) {
    try {
        const response = await axios.get(url);
        const html = response.data;
        
        // 使用 Cheerio 加载 HTML 文档
        const $ = cheerio.load(html);

        // 获取页面标题
        const title = $('h1').text();
        console.log(`Title: ${title}`);

        // 获取页面第一段内容
        const firstParagraph = $('p').first().text();
        console.log(`First Paragraph: ${firstParagraph}`);

    } catch (error) {
        console.error('Error fetching Wikipedia page:', error.message);
    }
}

// 示例用法
fetchWikipediaPage('https://en.wikipedia.org/wiki/Web_scraping');

解释

  1. 安装依赖

    • axios:用于发送 HTTP 请求。
    • cheerio:用于解析和操作 HTML 文档。
  2. 定义 fetchWikipediaPage 函数

    • 使用 axios.get 发送 GET 请求到指定的 URL。
    • 获取响应中的 HTML 内容。
    • 使用 cheerio.load 将 HTML 转换为可操作的 DOM 对象。
    • 提取页面标题和第一段内容并打印出来。
  3. 调用函数

    • 传入你想读取的 Wikipedia 页面的 URL。

这段代码将帮助你获取和解析 Wikipedia 页面的基本信息。请注意,网页抓取应遵守网站的 robots.txt 文件和版权政策。

回到顶部