проблема с функцией asyn c и чтением построчно из текстового файла - PullRequest
0 голосов
/ 23 января 2020

У меня есть следующий код:

async function scrape_profile_list() {
    const rl = require('readline').createInterface({
        input: require('fs').createReadStream(__dirname + '/../resources/profiles.txt'),
        terminal: true
    });

    for await (const line of rl) {

        //throttle(function(){
            console.log('Scraping data for ' + line);
            var my_request = iterate_proxy();
            my_request.get({
                url: 'https://www.instagram.com/' + line + '/?__a=1',
                timeout: 5000,
                json: true,
                simple: true
            }).then((response) => {
                if (!response.graphql) {
                    console.log(line + ' needs verification');

                } else {
                    //Provided profile does not have enough posts. Bail out.
                    var username = response.graphql.user.username;

                    console.log(username + ' aman');


                }
            }).catch(function (err) {
                console.log(un);
                console.log(`${username} - HTTP Request error.`)
            });

        //});
    }

}

особая проблема заключается в том, что в этой строке:

url: 'https://www.instagram.com/' + line + '/?__a=1',

мне нужен URL, чтобы взять имя пользователя из строки, которую я читаю из файла .. однако, когда я делаю так, только 1 запрос сделан, но в файле у меня есть 5 строк, поэтому теоретически он должен сделать 5 запросов

однако, когда я жестко кодирую

url на

url: 'https://www.instagram.com/nikitakusuma/?__a=1',

запрос сделан 5 раз .. почему это ?? я выдергиваю волосы

1 Ответ

0 голосов
/ 23 января 2020

почему бы не использовать readFileSyn c?

fs.readFileSync('/../resources/profiles.txt').toString()
  .split("\n");

, получить ваши строки в массиве, затем go и сделать вызов foreach.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...