0

そのデータをjsonファイルに保存したいのですが、最初にタイトル、リリース日、評価、レビューをmovieDataオブジェクトに保存したいのですが、エラーが発生します:movieDataが定義されていません。

var Nightmare = require('nightmare');
var fs = require('fs');

var nightmare = Nightmare({ show: true });
var movieData = {};

nightmare
  .goto('http://www.imdb.com/')
  .type('#navbar-query', 'ghostbusters')
  .click('#navbar-submit-button')
  .wait('#main')
  .click('.findSection table .findResult a')
  .wait('#wrapper')
  .evaluate(function () {
    movieData.title = document.querySelector('.title_wrapper h1').innerText;
    movieData.releaseDate = document.querySelector('.subtext a[title*="dates" i]').innerText;
    movieData.rating = document.querySelector('span[itemprop="ratingValue"]').innerText;
    return movieData;
  })
  .then(function (data) {
    console.log('Data = ' + JSON.stringify(data));
    return nightmare
      .click('.user-comments .see-more a:nth-child(3)')
      .wait()
      .select('select[name="filter"]', 'chrono')
      .wait('#wrapper')
      .evaluate(function () {
        movieData.review = document.querySelector('#tn15content p').innerText;
        return movieData;
      })
      .end()
      .then(function (data) {
        console.log('Review = ' + data.review);
      })
  })
  .catch(function (error) {
    console.error('Search failed:', error);
  });
4

1 に答える 1