首页 文章

有人可以查看代码,看看我是否遗漏了什么?

提问于
浏览
-2

所以我试图为我构建的刮刀运行此代码,但我不断收到语法错误消息:意外标识符 . 有人可以帮我看看我误入歧途吗?还是我没有关闭什么?我正在努力 Build 一个刮刀,将提取这些外国电影来自的国家 .

这是我的代码

var util = require("util"),
   async = require("async"),
 config = require(__dirname + "/config.js"),
  _ = require("lodash"),
    cheerio = require("cheerio"),
   request=require("request"),
   models = require(__dirname + "/models/index.js").models.autoLoad();


/* BEGIN SCRAPER HERE */
var request = require('request'),
  cheerio = require('cheerio');

var url = "http://www.imdb.com/list/ls057160363/";

request(url, function ( err, resp, code) {
 var $ = cheerio.load(code);

    request(url, function ( err, resp, code) {
        var $ = cheerio.load(code);
      console.log(url);
        $(".info").each(function() {
          var a = $(this).find("a").eq(0);
          var title = a.text();
          var url = "https://www.imdb.com/" + a.attr("href");

            request(url, function(err, body, code) {details page
              var $ = cheerio.load(code);
               console.log(url);
              var country = $('#titleDetails.txt-block a').html();
              var country = $("#titleDetails div").first().text().trim().split(":");
              var country = $("#titleDetails div").eq(0).text().trim().split(":");
              //check if not empty
              console.log(country);
              if( country.length )
                if(country[0] == "Country")
                  country = country[1].trim();
                else{
                  country = $("#titleDetails div").eq(1).text().trim().split(":");
                  console.log(country);
                  if( country.length )
                    country = country[1].trim();
                  else
                    country = ""
                  };

这是错误:

SyntaxError:位于Object.Module._extensions的Module._compile(module.js:588:28)处的Object.runInThisContext(vm.js:139:10)处的createScript(vm.js:80:10)处的意外标识符 . 位于Module.load(module.js:545:32)的js(module.js:635:10)位于tryModuleLoad(module.js:508:12)的Function.Module._load(module.js:500:3)at启动时的Function.Module.runMain(module.js:665:10)(bootstrap_node.js:187:16)at bootstrap_node.js:607:3

1 回答

  • 0

    试试这个

    var util = require("util"),
        async = require("async"),
        config = require(__dirname + "/config.js"),
        _ = require("lodash"),
        cheerio = require("cheerio"),
        request = require("request"),
        models = require(__dirname + "/models/index.js").models.autoLoad();
    
    
    /* BEGIN SCRAPER HERE */
    var request = require('request'),
        cheerio = require('cheerio');
    
    var url = "http://www.imdb.com/list/ls057160363/";
    
    request(url, function (err, resp, code) {
        var $ = cheerio.load(code);
    
        request(url, function (err, resp, code) {
            var $ = cheerio.load(code);
            console.log(url);
            $(".info").each(function () {
                var a = $(this).find("a").eq(0);
                var title = a.text();
                var url = "https://www.imdb.com/" + a.attr("href");
    
                request(url, function (err, body, code) {
                    //details page
                    var $ = cheerio.load(code);
                    console.log(url);
                    var country = $('#titleDetails.txt-block a').html();
                    var country = $("#titleDetails div").first().text().trim().split(":");
                    var country = $("#titleDetails div").eq(0).text().trim().split(":");
                    //check if not empty
                    console.log(country);
                    if (country.length)
                        if (country[0] == "Country")
                            country = country[1].trim();
                        else {
                            country = $("#titleDetails div").eq(1).text().trim().split(":");
                            console.log(country);
                            if (country.length)
                                country = country[1].trim();
                            else
                                country = ""
                        }
                });
            });
        });
    });
    

    你最后错过了几个括号,而应该是评论的“详情页面”不是评论 .

相关问题