我正在编写一个简单的脚本,从网站上抓取货币表。
到目前为止,这是我的脚本,我想做的是从这个网站上获得外汇汇率表:https://www.bangkokbank.com/en/Personal/Other-Services/View-Rates/Foreign-Exchange-Rates
到目前为止,这是我的代码。
const cheerio = require('cheerio');
const request = require('request');
request({
method: 'GET',
url: 'https://www.bangkokbank.com/en/Personal/Other-Services/View-Rates/Foreign-Exchange-Rates'
}, (err, res, body) => {
if (err) return console.error(err);
let $ = cheerio.load(body);
var x = [];
var hello = $("#exchange-rates > div.table-outer > table > tbody> tr > td");
console.log(hello);
$("#exchange-rates > div.table-outer > table > tbody> tr > td").each((i, elem) => {
x.push($(elem).text());
console.log($(elem).text());
});
});
当我跑"$("#汇率>div.table-outer>表>tbody>tr>td"(;在网页的控制台中(通过单击"检查"(,可以识别所有相关元素。但当我用JavaScript运行脚本时,它不会得到任何东西。
有人能提出建议吗?非常感谢。
静态网站中不存在给定的路径。该网站动态地呈现内容,即,一旦在浏览器上交付了网络内容,就会进行进一步的DOM操作来呈现数据。因此,静态网页只有"#exchange-rates > div.table-outer > table > tbody
。一旦在浏览器上获取tr
、td
标签,就会附加这些标签。你可能需要寻找任何其他替代解决方案来获得外汇汇率,比如使用任何现有的API。