Почему я не могу получить данные с веб-сайта, которые почти такие же, как раньше? - PullRequest
0 голосов
/ 05 февраля 2019

Я хочу получить данные о товарах (цены, запасы и т. Д.) С сайта Amazon в соответствии с кодом ASIN продукта, которые поступают из файла Excel.Но есть проблема, что я не могу добраться до всей информации.Это дает только 1/3 их информации о цене.Я делаю это с помощью модуля «request» для node.js.Как я могу получить доступ ко всей информации одновременно?

var fs = require('fs'),
    xlsx = require('node-xlsx');
    request = require('request'),
    cheerio = require('cheerio'),
    url = 'http://www.amazon.co.uk/gp/product/',
    asinList = [],

    //Datas coming from Excel file
    object = xlsx.parse(__dirname + '/example.xlsx');

//Assigning ASIN codes to asinList array
for (var i = 1; i < object[0].data.length; i++) {
    asinList.push(object[0].data[i][2]);
}

//Not important
fs.writeFile('asinList.json', JSON.stringify(asinList, null, 4), function(err) {
    console.log('Price saved in asinList.json file');
});

//Requesting to Amazon according to ASIn codes
asinList.forEach(function(elem){
    request((url+''+elem), function(error, response, html){
        if (!error && response.statusCode == 200) {
            var $ = cheerio.load(html);
            var price = $('#price_inside_buybox').text();
            console.log(elem)
            console.log(price)

        }
    });
});

Редактировать: Я забыл сказать, что могу получать данные только с веб-сайта United Kingdom Amazon (amazon.co.uk) не из Соединенные Штаты Amazon (amazon.com) .Я хочу получить их из США

...