我正在抓取网页UPDATE AlbumRoots
SET identifier = replace(identifier, '%2F', '/')
WHERE identifier LIKE '%%%2F%';
我需要从表数据中获取标题。
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;
数据。
图像显示表格的结构
任何帮助都将不胜感激。
答案 0 :(得分:-1)
所以,我去了页面并在控制台中运行了它。
var arr = [];
var title = jQuery('.mp-user-rating tr').each(function(i, element) {
var tableData = jQuery(element).find('.mp-rating-popup');
arr.push({ 'title': tableData.text() });
});
console.log(arr);
该数组由8个对象组成,每个对象都包含标题。
更新:
我使用您的代码提取了html信息。我认为问题是,html是由网站异步加载的,因此拉动html只会检索静态标记。你需要使用PhantomJS或chrome的无头浏览器来加载网站并允许加载异步信息,然后你就可以获取html。
请参阅此处了解有关PhantomJS的一些优秀文档:https://github.com/Medium/phantomjs