-1

我目前正在尝试从网站中提取图像 url,如果有意义的话,将图像 url 放入我的代码中。

本质上,对页面的请求通过了,我需要我的代码来抓取页面上的图像(页面上图像的 url),因此它可以发送到不和谐的 webhook。

在节点 js 中执行此操作的最佳方法是什么?如果这还不够信息,请随时让我知道,我会尽力扩大这一点!谢谢。

4

1 回答 1

0

好吧,既然您只提出了您的问题而没有提出代码/情况,我将详细说明您一般如何获得它。

  • 页面是动态
    的 我的意思是,您的页面包含您想要获取的内容,并且该内容由 JavaScript 加载。然后你可以尝试使用像PuppeteerNightmare这样的 Headless 库。请注意,所有这些包都有点重,例如,Puppeteer 安装 Chromium (不是元素,浏览器!如果你不知道,请阅读内容)和 Nightmare 与 Electron 一起工作(同样不是化学,它是一个 NPM 包)
    您可以利用其中的内置函数来获取您想要的元素。但是,您需要做很多检查元素的工作才能获得您想要的确切元素!

  • 页面是静态
    的 我所说的静态是指您需要的所有内容都在您自己的默认 HTML 中!所以你不需要无头浏览器。这对你来说是一些沉重的依赖
    因此,您需要做的是,使用Node-FetchAxios等软件包获取站点。我知道可以使用名为http的核心 Node.js 模块来做到这一点,但使用起来太麻烦了,而且并不是真的那么建议。
    根据您的要求,您将获得该网站的原始 HTML(看起来有点垃圾 ngl)。所以现在你需要用这个原始 HTML 做的是解析它来获取你的图像 URL!你可以使用cheerioJSDom加载您的 HTML,然后解析文档以获取所需的图像 URL。两者都是非常棒的ngl。


于 2021-07-02T14:42:41.583 回答