【发布时间】:2017-06-20 12:58:43
【问题描述】:
我正在抓取网页https://www.g2a.com/rising-storm-2-vietnam-steam-cd-key-global.html
我需要从表格数据中获取标题。
var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var app = express();
app.get('/scrape', function(req, res) {
url = 'https://www.g2a.com/rising-storm-2-vietnam-steam-cd-key-global.html';
request(url, function(error, response, body) {
if (!error) {
var $ = cheerio.load(body);
var arr = [];
var title = $('.mp-user-rating tr').each(function() {
var tableData = $('.marketplace-name > .mp-rating-popup');
arr.push({ 'title': tableData.text() });
});
}
res.send('Check your console!')
});
})
app.listen('8081');
console.log('Magic happens on port 8081');
exports = module.exports = app;
这里的数据在第三列,无法得到预期的.mp-user-rating tr数据。
图片展示了表格的结构
任何帮助将不胜感激。
【问题讨论】:
-
错误是什么?
-
@mplungjan 没有错误
-
您可能会在这里得到更多答案:github.com/cheeriojs/cheerio/issues
-
arr.push({ 'title': tableData.text() });... 然后呢?你再也不会碰arr变量了。你为什么期望得到什么? -
我的答案似乎是你想要的。但就像其他人所说的那样,你没有对 arr 变量做任何事情。
标签: javascript node.js web-scraping screen-scraping