0

我正在使用X 射线来抓取网站,但我似乎无法在浏览器中显示正确的 JSON 输出。它工作正常,当我编写一个新的 json 文档时,就像write('result.json')现在当我尝试将它发送到浏览器时一样。我目前正在使用 express 作为 Web 框架。

下面将创建一个新的 result.json 文件并显示正确的 json 输出(dribbble.com 上的 url)。但是没有按照我的意愿在浏览器中显示它?

app.get('/api/standings', function(req, res, next){


    x('http://www.dribbble.com', 'a', [{
    url: '@href',
    }]).write()
'results.json'


});

我试过的

app.get('/api/standings', function(req, res, next){

    res.send(x('http://www.dribbble.com', 'a', [{
        url: '@href',
    }]).write());



});

奇怪的错误输出

{
  "_readableState": {
    "objectMode": false,
    "highWaterMark": 16384,
    "buffer": [

    ],
    "length": 0,
    "pipes": null,
    "pipesCount": 0,
    "flowing": null,
    "ended": false,
    "endEmitted": false,
    "reading": false,
    "sync": true,
    "needReadable": false,
    "emittedReadable": false,
    "readableListening": false,
    "defaultEncoding": "utf8",
    "ranOut": false,
    "awaitDrain": 0,
    "readingMore": false,
    "decoder": null,
    "encoding": null
  },
  "readable": true,
  "domain": null,
  "_events": {

  },
  "_eventsCount": 0
}
4

1 回答 1

1

.write 将返回一个enstore流。您已将其通过管道传输到您的节点 GET 响应以使其工作。

app.get('/api/standings', function(req, res, next){

    x('http://www.dribbble.com', 'a', [{
    url: '@href',
    }]).write().pipe(res);

});
于 2016-01-18T14:39:29.110 回答