node.js - 如何从网站解析有关某些产品的信息(使用 node.js)?
问题描述
我需要从网站解析信息,例如 adidas.com。我对这款运动鞋之类的产品信息很感兴趣。我如何获得特定产品的成本、图片、名称和图片等信息。
我尝试将 Node.js 与 Cheerio 和 request 等模块一起使用,但服务器没有提供任何信息。
console.log('In progress!');
const request = require('request')
const cheerio = require('cheerio');
request('https://www.adidas.com/api/search/product/FY1159?sitePath=us', (error, response, html) => {
if (!error && response.statusCode == 200){
console.log(html);
}
});
解决方案
听起来您正在尝试执行一些网络抓取。由于您使用的是节点,因此有一个非常流行且广泛的模块 ( Puppeteer ) 允许您从网页中抓取数据。您可以在他们的操场上进行试验:https ://try-puppeteer.appspot.com/
另外,请记住,从网站的某些页面抓取数据可能存在法律问题,因此我建议您也对此进行调查。robot.txt
您可以查看网站文件中不允许/不允许的页面。
推荐阅读
- python - 使用网格评估数据
- node.js - GCP 构建失败 gyp ERR!堆栈错误:`make` 失败,退出代码:2
- excel - 如果列表的所有值都存在于不同的列中,请更改excel中单元格的颜色?
- oracle - 如何将 SQL 语句的结果保存到变量中?
- xml - 如何在包含 xml 的 Oracle 数据库查询字符串中发送与号
- javascript - 如何在引导模式窗口打开时授予用户访问权限
- firebase - Firestore:合并 2 个流并发出两个值
- angular - @angular/cdk/collections DataSource 的断开方法
没有被调用 - excel - 如何将键盘快捷键添加到已经自由编码的 VBA 模块?
- amazon-web-services - 使用 aws cli 将日志流式传输到弹性